diff --git a/Android.bp b/Android.bp
new file mode 100644
index 0000000..4112d04
--- /dev/null
+++ b/Android.bp
@@ -0,0 +1,98 @@
+java_library {
+    name: "settings-logtags",
+    srcs: ["src/**/*.logtags"],
+    static_libs: ["WifiTrackerLib"],
+}
+
+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..b4c88ba 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,6 +122,7 @@
         <activity android:name=".homepage.SettingsHomepageActivity"
                   android:label="@string/settings_label_launcher"
                   android:theme="@style/Theme.Settings.Home"
+                  android:taskAffinity="com.android.settings.root"
                   android:launchMode="singleTask">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.SETTINGS" />
@@ -144,6 +147,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 +165,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 +182,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 +201,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 +215,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 +251,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 +267,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 +299,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 +319,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 +384,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 +488,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 +502,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 +526,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 +539,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 +557,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 +569,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 +580,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 +589,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 +614,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 +678,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 +704,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 +749,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 +777,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 +791,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 +801,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 +854,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 +864,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 +885,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 +979,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 +1030,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 +1052,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 +1150,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 +1166,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 +1185,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 +1220,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 +1239,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 +1254,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 +1284,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 +1299,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 +1343,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 +1397,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 +1415,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 +1429,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 +1490,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 +1507,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 +1538,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 +1612,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 +1807,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 +1832,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 +1913,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 +1951,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 +1966,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 +1980,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 +2101,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 +2115,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 +2131,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 +2158,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 +2168,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 +2184,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 +2208,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 +2221,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 +2234,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 +2307,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 +2316,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 +2333,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 +2347,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 +2357,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 +2398,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 +2413,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 +2436,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 +2447,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 +2462,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 +2473,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 +2509,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 +2530,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 +2538,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 +2589,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 +2601,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 +2621,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 +2670,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 +2788,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 +2844,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 +2877,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 +2919,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 +2939,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 +2972,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 +2980,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 +2998,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 +3033,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 +3045,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 +3057,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 +3069,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 +3082,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 +3095,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 +3126,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 +3143,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,6 +3178,18 @@
                 </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"
@@ -3268,8 +3293,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 +3312,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..16fc48c 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,22 +1,16 @@
 # 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
+millchen@google.com
 rafftsai@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_color_inversion_preview.png b/res/drawable/accessibility_color_inversion_preview.png
new file mode 100644
index 0000000..5c9f3ea
--- /dev/null
+++ b/res/drawable/accessibility_color_inversion_preview.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..141af83
--- /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..5b0611d
--- /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..a5df752
--- /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..a8d86aa
--- /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..5c6ce95
--- /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_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/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-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_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..753adb1b
--- /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:theme="@style/Theme.AlertDialog"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingTop="24dp"
+        android:paddingStart="24dp"
+        android:paddingEnd="24dp">
+
+        <include android:id="@+id/software_shortcut"
+                 layout="@layout/accessibility_edit_shortcut_component"/>
+
+        <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..dd92a1d
--- /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"
+    android:paddingBottom="16dp">
+
+    <CheckBox
+        android:id="@+id/checkbox"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:minHeight="?android:attr/listPreferredItemHeightSmall"
+        android:saveEnabled="false"
+        android:textAppearance="?android:attr/textAppearanceListItem"
+        android:textColor="?android:attr/textColorAlertDialogListItem" />
+
+    <TextView
+        android:id="@+id/summary"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingBottom="8dp"
+        android:paddingStart="32dp"
+        android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+        android:textColor="?android:attr/textColorSecondary" />
+
+    <ImageView
+        android:id="@+id/image"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingStart="32dp"
+        android:scaleType="fitCenter" />
+
+</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..8a724cc
--- /dev/null
+++ b/res/layout/accessibility_edit_shortcut_magnification.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
+  -->
+
+<ScrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:scrollbarStyle="outsideOverlay">
+
+    <LinearLayout
+        android:theme="@style/Theme.AlertDialog"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:paddingTop="24dp"
+        android:paddingStart="24dp"
+        android:paddingEnd="24dp">
+
+        <include android:id="@+id/software_shortcut"
+                 layout="@layout/accessibility_edit_shortcut_component"/>
+
+        <include android:id="@+id/hardware_shortcut"
+                 layout="@layout/accessibility_edit_shortcut_component"/>
+
+        <LinearLayout
+            android:id="@+id/advanced_shortcut"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="horizontal">
+
+            <ImageView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:src="@drawable/ic_keyboard_arrow_down"
+                android:scaleType="fitCenter"/>
+
+            <TextView
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:gravity="center_vertical"
+                android:minHeight="?android:attr/listPreferredItemHeightSmall"
+                android:text="@string/accessibility_shortcut_edit_dialog_title_advance"
+                android:textAppearance="?android:attr/textAppearanceListItem"
+                android:textColor="?android:attr/colorAccent" />
+
+        </LinearLayout>>
+
+        <include android:id="@+id/triple_tap_shortcut"
+                 layout="@layout/accessibility_edit_shortcut_component"
+                 android:visibility="gone"/>
+
+    </LinearLayout>
+
+</ScrollView>
\ No newline at end of file
diff --git a/res/layout/accessibility_shortcut_secondary_action.xml b/res/layout/accessibility_shortcut_secondary_action.xml
new file mode 100644
index 0000000..84c8e6b
--- /dev/null
+++ b/res/layout/accessibility_shortcut_secondary_action.xml
@@ -0,0 +1,102 @@
+<?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:focusable="true"
+        android:clickable="true"
+        android:background="?android:attr/selectableItemBackground">
+
+        <FrameLayout
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_marginEnd="16dp"
+            android:minWidth="56dp"
+            android:orientation="horizontal"
+            android:focusable="false"
+            android:clickable="false">
+
+            <CheckBox
+                android:id="@+id/checkbox"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:focusable="false"
+                android:clickable="false"
+                android:background="@null"/>
+
+        </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:contentDescription="@string/accessibility_shortcut_settings"
+        android:gravity="end|center_vertical"
+        android:minWidth="58dp"
+        android:orientation="vertical" />
+
+</LinearLayout>
\ No newline at end of file
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/color_inversion_preview.xml b/res/layout/color_inversion_preview.xml
new file mode 100644
index 0000000..18a0bb8
--- /dev/null
+++ b/res/layout/color_inversion_preview.xml
@@ -0,0 +1,29 @@
+<?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/color_mode_preview_height"
+        android:contentDescription="@null"
+        android:scaleType="fitCenter"
+        android:src="@drawable/accessibility_color_inversion_preview"/>
+</FrameLayout>
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..734697f
--- /dev/null
+++ b/res/layout/contextual_slice_sticky_tile.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.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    style="@style/StickyCardStyle">
+
+    <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:layout_marginBottom="@dimen/contextual_card_vertical_margin"
+        android:importantForAccessibility="no"/>
+
+    <include layout="@layout/horizontal_divider"/>
+
+</LinearLayout>
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_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/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..4c899e6
--- /dev/null
+++ b/res/layout/notification_history_app_layout.xml
@@ -0,0 +1,97 @@
+<?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="0dp"
+            android:clipChildren="true"
+            settings:layout_constraintHeight_max="300dp"
+            settings:layout_constrainedHeight="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..136af38
--- /dev/null
+++ b/res/layout/notification_history_log_row.xml
@@ -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.
+-->
+<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">
+        <RelativeLayout
+            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_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_centerVertical="true"
+                android:ellipsize="end"
+                android:singleLine="true"
+                android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
+                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/title"
+                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"
+                />
+        </RelativeLayout>
+
+        <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..3342ef1
--- /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="14dp" />
+
+</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/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_settings.xml b/res/layout/preference_widget_settings.xml
new file mode 100644
index 0000000..73c6875
--- /dev/null
+++ b/res/layout/preference_widget_settings.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 ShortcutPreference. This is inflated inside android.R.layout.preference. -->
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/settings_button"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_gravity="center"
+    android:background="?android:attr/selectableItemBackground"
+    android:scaleType="center"
+    android:src="@drawable/ic_mode_edit"
+    android:contentDescription="@string/settings_button" />
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/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..18ad3b5 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"/>
@@ -656,34 +697,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_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 a7dd334..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Geen"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Geen"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Geen"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 3bfa1d2..5e59f5a 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Sigbaarheid-tydperk"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Sluit stembellery"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Voorkom die gebruik van die Bluetooth-beller wanneer die skerm gesluit is"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-toestelle"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Toestelnaam"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Toestelinstellings"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profielinstellings"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Jou programme gebruik \'n gewone hoeveelheid batterykrag. As programme te veel batterykrag gebruik, sal jou toestel handelinge voorstel wat jy kan uitvoer.\n\nJy kan altyd Batterybespaarder aanskakel as jou battery begin pap raak."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batterybestuurder"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Bestuur programme outomaties"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Beperk die batterygebruik van programme wat jy nie gereeld gebruik nie"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Wanneer Batterybestuurder bespeur dat programme jou battery leegmaak, het jy die opsie om daardie programme te beperk. Beperkte programme sal dalk nie behoorlik werk nie en kennisgewings sal dalk vertraag word."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Wanneer Batterybestuurder bespeur dat programme jou battery leegmaak, het jy die opsie om daardie programme te beperk. Beperkte programme sal dalk nie behoorlik werk nie en kennisgewings sal dalk vertraag word."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Wanneer Batterybestuurder bespeur dat programme jou battery leegmaak, het jy die opsie om daardie programme te beperk. Beperkte programme sal dalk nie behoorlik werk nie en kennisgewings sal dalk vertraag word."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Beperk die batterygebruik van programme wat jy nie gereeld gebruik nie"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Wanneer Batterybestuurder bespeur dat programme jou battery leegmaak, het jy die opsie om daardie programme te beperk. Beperkte programme sal dalk nie behoorlik werk nie en kennisgewings sal dalk vertraag word."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Beperkte programme"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Beperk tans batterygebruik vir %1$d programme</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Hierdie programme het battery in die agtergrond gebruik. Beperkte programme sal dalk nie behoorlik werk nie en kennisgewings sal dalk vertraag word."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Gebruik Batterybestuurder"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Bespeur wanneer programme battery leegmaak"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Aan / Bespeur wanneer programme battery leegmaak"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Aan / Bespeur wanneer programme battery leegmaak"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Af"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d programme word beperk</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Eiebewyse is nie vir hierdie gebruiker beskikbaar nie"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Geïnstalleer vir VPN en programme"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Geïnstalleer vir Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Geïnstalleer vir verifikasie van programinstallasiebron"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Verwyder al die inhoud?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Programbronsertifikaat"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installeer hierdie sertifikaat op eie risiko"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Programbronsertifikate verifieer dat programme veilig is vir jou toestel. Installeer net sertifikate vanaf organisasies wat jy vertrou."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"een gebruikersertifikaat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"een CA-sertifikaat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA-sertifikate"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"een programbronsertifikaat"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Eiebewysbesonderhede"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Het eiebewys verwyder: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Geen gebruikereiebewyse is geïnstalleer nie"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Herbegin om sertifikaat te gebruik"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Jy moet jou toestel herbegin om hierdie programbronsertifikaat te gebruik"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Herbegin om deïnstallering te voltooi"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Jy moet jou toestel herbegin om hierdie programbronsertifikaat te deïnstalleer"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Herbegin"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Nie nou nie"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Speltoetser"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Speltoetser vir werk"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Voer jou huidige wagwoord vir volledige rugsteun hier in"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Voorbekendstellingdrywer"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index b2daa25..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"ምንም"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"ምንም የለም"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"ሲም"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"ሲም"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"የለም"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 ccc9eb1..660e67a 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"የታይነትጊዜ አብቅቷል"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"በድምፅ መደወያ ቆልፍ"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"ማያው ሲቆለፍ የብሉቱዝ ደዋዩ እንዳይጠቀምበት ተከላከል።"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"የብሉቱዝመሣሪያዎች"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"የመሣሪያ ስም"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"የመሳሪያ ቅንብሮች"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"የመገለጫ ቅንብሮች"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"ጊዜን በራስ-ሰር ጠቅ አድርግ"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"የእርስዎ መተግበሪያዎች መደበኛ የባትሪ መጠንን በመጠቀም ላይ ናቸው። መተግበሪያዎች ከልክ በላይ ብዙ ባትሪ የሚጠቀሙ ከሆነ፣ የእርስዎ መሣሪያ እርስዎ የሚወስዱዋቸውን እርምጃዎች ጥቆማ ይሰጣል።\n\nባትሪ እየጨረሱ ያሉ ከሆነ ባትሪ ቆጣቢን ሁልጊዜ ማብራት ይችላሉ።"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"የባትሪ አስተዳዳሪ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"መተግበሪያዎችን በራስ-ሰር ያቀናብሩ"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ብዙውን ጊዜ ለማይጠቀሙባቸው መተግበሪያዎች ባትሪ ይገድቡ"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"ባትሪ አስተዳዳሪ መተግበሪያዎች ባትሪን አንጠፍጥፈው እየጨረሱት እንደሆነ ፈልጎ ሲደርስበት እነዚህን መተግበሪያዎች ለመገደብ አማራጭ ይኖርዎታል። የተገደቡ መተግበሪያዎች በአግባቡ ላይሠሩ ይችላሉ እና ማሳወቂያዎች ሊዘገዩ ይችሉ ይሆናል።"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"ባትሪ አስተዳዳሪ መተግበሪያዎች ባትሪን አንጠፍጥፈው እየጨረሱት እንደሆነ ፈልጎ ሲደርስበት እነዚህን መተግበሪያዎች ለመገደብ አማራጭ ይኖርዎታል። የተገደቡ መተግበሪያዎች በአግባቡ ላይሠሩ ይችላሉ እና ማሳወቂያዎች ሊዘገዩ ይችሉ ይሆናል።"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"ባትሪ አስተዳዳሪ መተግበሪያዎች ባትሪን አንጠፍጥፈው እየጨረሱት እንደሆነ ፈልጎ ሲደርስበት እነዚህን መተግበሪያዎች ለመገደብ አማራጭ ይኖርዎታል። የተገደቡ መተግበሪያዎች በአግባቡ ላይሠሩ ይችላሉ እና ማሳወቂያዎች ሊዘገዩ ይችሉ ይሆናል።"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ብዙውን ጊዜ ለማይጠቀሙባቸው መተግበሪያዎች ባትሪ ይገድቡ"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"ባትሪ አስተዳዳሪ መተግበሪያዎች ባትሪን አንጠፍጥፈው እየጨረሱት እንደሆነ ፈልጎ ሲደርስበት እነዚህን መተግበሪያዎች ለመገደብ አማራጭ ይኖርዎታል። የተገደቡ መተግበሪያዎች በአግባቡ ላይሠሩ ይችላሉ እና ማሳወቂያዎች ሊዘገዩ ይችሉ ይሆናል።"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"የተገደቡ መተግበሪያዎች"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">ለ%1$d መተግበሪያዎች የባትሪ አጠቃቀምን በመገደብ ላይ</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"እነዚህ መተግበሪያዎች በበስተጀርባ ውስጥ ባትሪ ሲጠቀሙ ነበር። የተገደቡ መተግበሪያዎች በአግባቡ ላይሰሩ ይችላሉ፣ እና ማሳወቂያዎች ሊዘገዩ ይችላሉ።"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"የባትሪ አስተዳዳሪን ይጠቀሙ"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"መተግበሪያዎች ባትሪን ሲያንጠፈጥሩት ፈልገህ ዕወቅ"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"በርቷል / መተግበሪያዎች ባትሪን ሲያንጠፈጥፉ ፈልጎ በማግኘት ላይ"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"በርቷል / መተግበሪያዎች ባትሪን ሲያንጠፈጥፉ ፈልጎ በማግኘት ላይ"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"አጥፋ"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d መተግበሪያዎች ተገድበዋል</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ምስክርነቶች ለዚህ ተጠቃሚ አይገኙም"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"ለVPN እና መተግበሪያዎች ተጭኗል"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"ለWi-Fi ተጭኗል"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ለመተግበሪያ ጭነት ምንጭ ማረጋገጫ ተጭኗል"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"ሁሉንም ይዘቶች አስወግድ?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"የመተግበሪያ ምንጭ የዕውቅና ማረጋገጫ"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ይህን የዕውቅና ማረጋገጫ በራስዎ ኃላፊነት ይጫኑ"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"የመተግበሪያ ምንጭ የዕውቅና ማረጋገጫዎች መተግበሪያዎች ለእርስዎ መሣሪያ ደህንነታቸው አስተማማኝ መሆኑን ያረጋግጣሉ። እርስዎ ከሚያምኑዋቸው ድርጅቶች የመጡ የዕውቅና ማረጋገጫዎችን ብቻ ይጫኑ።"</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"አንድ የተጠቃሚ እውቅና ማረጋገጫ"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"አንድ የCA እውቅና ማረጋገጫ"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"የ%d CA እውቅና ማረጋገጫ"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"አንድ የመተግበሪያ ምንጭ የዕውቅና ማረጋገጫ"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"የምስክርነት ዝርዝሮች"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ይህ ምስክርነት ተወግዷል፦ <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"ምንም የተጠቃሚ ምስክርነቶች አልተጫኑም"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"የዕውቅና ማረጋገጫውን ለመጠቀም ዳግም ያስጀምሩ"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"ይህን የመተግበሪያ ምንጭ የዕውቅና ማረጋገጫ ለመጠቀም፣ የእርስዎን መሣሪያ ዳግም ማስጀመር ያስፈልግዎታል"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"ማራገፍን ለመጨረስ ዳግም ያስጀምሩ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"ይህን የመተግበሪያ ምንጭ የዕውቅና ማረጋገጫ ለማራገፍ፣ የእርስዎን መሣሪያ ዳግም ማስጀመር ያስፈልግዎታል"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ዳግም ጀምር"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"አሁን አይደለም"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"የፊደል መረሚያ"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"የስራ ፊደል ማረሚያ"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"ሙሉ የይለፍቃል መጠባበቂያዎን እዚህ ያስገቡ።"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"በጸጥታ አሳይ እና አሳንስ"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"በፀጥታ አሳይ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ድምፅ ፍጠር"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"የቅድመ-ልቀት ነጂ"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index f5947e8..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"بدون"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"بدون"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"‏شريحة SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'‎"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'‎"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"بدون"</item>
-    <item msgid="2548160166342921510">"بروتوكول مصادقة كلمات المرور"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 142f26a..4c739f3 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -35,51 +35,19 @@
     <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_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>
     <string name="sdcard_format" product="default" msgid="3676635435136326182">"‏محو بطاقة SD"</string>
     <string name="preview_pager_content_description" msgid="3762247188224576303">"معاينة"</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>
@@ -103,7 +70,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"مهلة الرؤية"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"تأمين الطلب الصوتي"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"منع استخدام طالب البلوتوث عندما تكون الشاشة مؤمّنة"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"أجهزة بلوتوث"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"اسم الجهاز"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"إعدادات الجهاز"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"إعدادات الملف الشخصي"</string>
@@ -133,7 +99,7 @@
     <string name="bluetooth_show_received_files" msgid="685424727760622632">"الملفات التي تم استلامها"</string>
     <string name="bluetooth_show_files_received_via_bluetooth" msgid="7097860463458492953">"الملفات المستلَمة عبر البلوتوث"</string>
     <string name="device_picker" msgid="2427027896389445414">"اختيار جهاز البلوتوث"</string>
-    <string name="bluetooth_ask_enablement" msgid="1529030199895339199">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تشغيل البلوتوث"</string>
+    <string name="bluetooth_ask_enablement" msgid="1529030199895339199">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تفعيل البلوتوث"</string>
     <string name="bluetooth_ask_disablement" msgid="1879788777942714761">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> إيقاف البلوتوث"</string>
     <string name="bluetooth_ask_enablement_no_name" msgid="5091401961637405417">"يريد أحد التطبيقات تشغيل بلوتوث"</string>
     <string name="bluetooth_ask_disablement_no_name" msgid="382299750909188822">"يريد أحد التطبيقات إيقاف البلوتوث"</string>
@@ -145,16 +111,16 @@
     <string name="bluetooth_ask_lasting_discovery" product="default" msgid="2352494279465502950">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> جعل هاتفك مرئيًا لأجهزة بلوتوث الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
     <string name="bluetooth_ask_lasting_discovery_no_name" product="tablet" msgid="2732992604509910896">"يريد أحد التطبيقات جعل جهازك اللوحي مرئيًا لأجهزة بلوتوث الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
     <string name="bluetooth_ask_lasting_discovery_no_name" product="default" msgid="356982103612920264">"يريد أحد التطبيقات جعل هاتفك مرئيًا لأجهزة بلوتوث الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
-    <string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="6103655179509599427">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تشغيل البلوتوث وجعل جهازك اللوحي مرئيًا للأجهزة الأخرى لمدة <xliff:g id="TIMEOUT">%2$d</xliff:g> من الثواني."</string>
-    <string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="934276632311449337">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تشغيل البلوتوث وجعل هاتفك مرئيًا للأجهزة الأخرى لمدة <xliff:g id="TIMEOUT">%2$d</xliff:g> من الثواني."</string>
-    <string name="bluetooth_ask_enablement_and_discovery_no_name" product="tablet" msgid="1284048348024444485">"يريد أحد التطبيقات تشغيل البلوتوث وجعل جهازك اللوحي مرئيًا للأجهزة الأخرى لمدة <xliff:g id="TIMEOUT">%1$d</xliff:g> من الثواني."</string>
-    <string name="bluetooth_ask_enablement_and_discovery_no_name" product="default" msgid="2661614145022629454">"يريد أحد التطبيقات تشغيل البلوتوث وجعل هاتفك مرئيًا للأجهزة الأخرى لمدة <xliff:g id="TIMEOUT">%1$d</xliff:g> من الثواني."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="8588317955400593623">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تشغيل البلوتوث وجعل جهازك اللوحي مرئيًا للأجهزة الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="4047444317445386579">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تشغيل البلوتوث وجعل هاتفك مرئيًا للأجهزة الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="4922952478824372605">"يريد أحد التطبيقات تشغيل البلوتوث وجعل جهازك اللوحي مرئيًا للأجهزة الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
-    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="1381582950049639439">"يريد أحد التطبيقات تشغيل البلوتوث وجعل هاتفك مرئيًا للأجهزة الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
-    <string name="bluetooth_turning_on" msgid="3842613808709024730">"جارٍ تشغيل البلوتوث..."</string>
-    <string name="bluetooth_turning_off" msgid="7406309124247701148">"جارٍ إيقاف تشغيل البلوتوث..."</string>
+    <string name="bluetooth_ask_enablement_and_discovery" product="tablet" msgid="6103655179509599427">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تفعيل البلوتوث وجعل جهازك اللوحي مرئيًا للأجهزة الأخرى لمدة <xliff:g id="TIMEOUT">%2$d</xliff:g> من الثواني."</string>
+    <string name="bluetooth_ask_enablement_and_discovery" product="default" msgid="934276632311449337">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تفعيل البلوتوث وجعل هاتفك مرئيًا للأجهزة الأخرى لمدة <xliff:g id="TIMEOUT">%2$d</xliff:g> من الثواني."</string>
+    <string name="bluetooth_ask_enablement_and_discovery_no_name" product="tablet" msgid="1284048348024444485">"يريد أحد التطبيقات تفعيل البلوتوث وجعل جهازك اللوحي مرئيًا للأجهزة الأخرى لمدة <xliff:g id="TIMEOUT">%1$d</xliff:g> من الثواني."</string>
+    <string name="bluetooth_ask_enablement_and_discovery_no_name" product="default" msgid="2661614145022629454">"يريد أحد التطبيقات تفعيل البلوتوث وجعل هاتفك مرئيًا للأجهزة الأخرى لمدة <xliff:g id="TIMEOUT">%1$d</xliff:g> من الثواني."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="tablet" msgid="8588317955400593623">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تفعيل البلوتوث وجعل جهازك اللوحي مرئيًا للأجهزة الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery" product="default" msgid="4047444317445386579">"يريد <xliff:g id="APP_NAME">%1$s</xliff:g> تفعيل البلوتوث وجعل هاتفك مرئيًا للأجهزة الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="tablet" msgid="4922952478824372605">"يريد أحد التطبيقات تفعيل البلوتوث وجعل جهازك اللوحي مرئيًا للأجهزة الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
+    <string name="bluetooth_ask_enablement_and_lasting_discovery_no_name" product="default" msgid="1381582950049639439">"يريد أحد التطبيقات تفعيل البلوتوث وجعل هاتفك مرئيًا للأجهزة الأخرى. يمكنك تغيير هذا لاحقًا في إعدادات بلوتوث."</string>
+    <string name="bluetooth_turning_on" msgid="3842613808709024730">"جارٍ تفعيل البلوتوث..."</string>
+    <string name="bluetooth_turning_off" msgid="7406309124247701148">"جارٍ إيقاف تفعيل البلوتوث..."</string>
     <string name="bluetooth_connection_permission_request" msgid="8793131019383198861">"طلب اتصال بلوتوث"</string>
     <string name="bluetooth_connection_notif_message" msgid="6087344980352898209">"انقر للاتصال بـ \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"."</string>
     <string name="bluetooth_connection_dialog_text" msgid="2537152772549874391">"هل تريد الاتصال بـ \"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>\"؟"</string>
@@ -178,9 +144,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 +179,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 +223,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 +241,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 +248,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 +291,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 +324,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>
@@ -491,9 +413,9 @@
     <string name="setup_fingerprint_enroll_skip_title" msgid="2473807887676247264">"هل تريد تخطّي بصمة الإصبع؟"</string>
     <string name="setup_fingerprint_enroll_skip_after_adding_lock_text" msgid="2412645723804450304">"لا يستغرق إعداد بصمة الإصبع أكثر من دقيقة أو دقيقتين. وعند تخطّي ذلك، يمكنك إضافة بصمة إصبع لاحقًا من الإعدادات."</string>
     <string name="lock_screen_intro_skip_title" msgid="342553937472568925">"هل تريد تخطّي قفل الشاشة؟"</string>
-    <string name="lock_screen_intro_skip_dialog_text_frp" product="tablet" msgid="1570832293693405757">"لن يتم تشغيل ميزات حماية الجهاز. ولن تتمكن من منع الآخرين من استخدام هذا الجهاز اللوحي في حالة فقدانه أو سرقته أو إعادة ضبطه."</string>
-    <string name="lock_screen_intro_skip_dialog_text_frp" product="device" msgid="4618501606519351904">"لن يتم تشغيل ميزات حماية الجهاز. ولن تتمكن من منع الآخرين من استخدام هذا الجهاز في حالة فقدانه أو سرقته أو إعادة ضبطه."</string>
-    <string name="lock_screen_intro_skip_dialog_text_frp" product="default" msgid="2412426429887900241">"لن يتم تشغيل ميزات حماية الجهاز. ولن تتمكن من منع الآخرين من استخدام هذا الهاتف في حالة فقدانه أو سرقته أو إعادة ضبطه."</string>
+    <string name="lock_screen_intro_skip_dialog_text_frp" product="tablet" msgid="1570832293693405757">"لن يتم تفعيل ميزات حماية الجهاز. ولن تتمكن من منع الآخرين من استخدام هذا الجهاز اللوحي في حالة فقدانه أو سرقته أو إعادة ضبطه."</string>
+    <string name="lock_screen_intro_skip_dialog_text_frp" product="device" msgid="4618501606519351904">"لن يتم تفعيل ميزات حماية الجهاز. ولن تتمكن من منع الآخرين من استخدام هذا الجهاز في حالة فقدانه أو سرقته أو إعادة ضبطه."</string>
+    <string name="lock_screen_intro_skip_dialog_text_frp" product="default" msgid="2412426429887900241">"لن يتم تفعيل ميزات حماية الجهاز. ولن تتمكن من منع الآخرين من استخدام هذا الهاتف في حالة فقدانه أو سرقته أو إعادة ضبطه."</string>
     <string name="lock_screen_intro_skip_dialog_text" product="tablet" msgid="7119039592587429936">"لن يتم تفعيل ميزات حماية الجهاز. ولن تتمكن من منع الآخرين من استخدام هذا الجهاز اللوحي في حالة فقدانه أو سرقته."</string>
     <string name="lock_screen_intro_skip_dialog_text" product="device" msgid="3365990364131398523">"لن يتم تفعيل ميزات حماية الجهاز. ولن تتمكن من منع الآخرين من استخدام هذا الجهاز في حالة فقدانه أو سرقته."</string>
     <string name="lock_screen_intro_skip_dialog_text" product="default" msgid="4908278819257287536">"لن يتم تفعيل ميزات حماية الجهاز. ولن تتمكن من منع الآخرين من استخدام هذا الهاتف في حالة فقدانه أو سرقته."</string>
@@ -725,7 +647,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 +701,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>
@@ -812,7 +741,7 @@
       <item quantity="one">وكيل واحد معتمد نشط</item>
     </plurals>
     <string name="bluetooth_quick_toggle_title" msgid="5955341060378240781">"بلوتوث"</string>
-    <string name="bluetooth_quick_toggle_summary" msgid="5257744297562880017">"تشغيل البلوتوث"</string>
+    <string name="bluetooth_quick_toggle_summary" msgid="5257744297562880017">"تفعيل البلوتوث"</string>
     <string name="bluetooth_settings" msgid="2967239493428695171">"بلوتوث"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"بلوتوث"</string>
     <string name="bluetooth_settings_summary" msgid="6805458703566046784">"إدارة الاتصالات، تعيين اسم الجهاز وقابلية الاكتشاف"</string>
@@ -831,7 +760,7 @@
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"تعذر الاتصال بـ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_scan_title" msgid="3460316252463771851">"البحث عن أجهزة"</string>
-    <string name="bluetooth_search_for_devices" msgid="6516902340975407648">"تحديث"</string>
+    <string name="bluetooth_search_for_devices" msgid="6516902340975407648">"إعادة تحميل"</string>
     <string name="bluetooth_searching_for_devices" msgid="6541984133657573124">"جارٍ البحث…"</string>
     <string name="bluetooth_preference_device_settings" msgid="1688662188157019998">"إعدادات الجهاز"</string>
     <string name="bluetooth_preference_paired_dialog_title" msgid="1090131276572055841">"الجهاز المقترن"</string>
@@ -852,8 +781,8 @@
     <string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"الخيارات…"</string>
     <string name="bluetooth_menu_advanced" msgid="7633682234855216066">"إعدادات متقدمة"</string>
     <string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"إعدادات بلوتوث المتقدمة"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"عند تشغيل البلوتوث، يمكن للجهاز التواصل مع أجهزة البلوتوث الأخرى القريبة."</string>
-    <string name="bluetooth_scanning_on_info_message" msgid="4069064120315578780">"عند تشغيل البلوتوث، يمكن للجهاز التواصل مع أجهزة البلوتوث الأخرى القريبة.\n\nولتحسين تجربة استخدام الجهاز، يمكن للتطبيقات والخدمات أيضًا البحث عن الأجهزة القريبة في أي وقت، حتى عند إيقاف البلوتوث. ويمكن استخدام هذا الإجراء لتحسين الميزات والخدمات المستندة إلى الموقع الجغرافي مثلاً. وبإمكانك تغيير هذا الإعداد في "<annotation id="link">"إعدادات البحث"</annotation>"."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"عند تفعيل البلوتوث، يمكن للجهاز التواصل مع أجهزة البلوتوث الأخرى القريبة."</string>
+    <string name="bluetooth_scanning_on_info_message" msgid="4069064120315578780">"عند تفعيل البلوتوث، يمكن للجهاز التواصل مع أجهزة البلوتوث الأخرى القريبة.\n\nولتحسين تجربة استخدام الجهاز، يمكن للتطبيقات والخدمات أيضًا البحث عن الأجهزة القريبة في أي وقت، حتى عند إيقاف البلوتوث. ويمكن استخدام هذا الإجراء لتحسين الميزات والخدمات المستندة إلى الموقع الجغرافي مثلاً. وبإمكانك تغيير هذا الإعداد في "<annotation id="link">"إعدادات البحث"</annotation>"."</string>
     <string name="ble_scan_notify_text" msgid="1358879010396045164">"لتحسين دقة الموقع، سيظل بإمكان تطبيقات وخدمات النظام اكتشاف أجهزة بلوتوث. ويمكنك تغيير ذلك من خلال <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>إعدادات البحث<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
     <string name="bluetooth_connect_failed" msgid="7892663424429584925">"تعذر الاتصال. يُرجى إعادة المحاولة."</string>
     <string name="device_details_title" msgid="1155622417516195481">"تفاصيل الجهاز"</string>
@@ -866,7 +795,7 @@
     <string name="bluetooth_unpair_dialog_forget_confirm_button" msgid="9184489424930549015">"إلغاء إقران الجهاز"</string>
     <string name="bluetooth_connect_specific_profiles_title" msgid="1323072239637864488">"الاتصال بـ…"</string>
     <string name="bluetooth_disconnect_a2dp_profile" msgid="339103864166293612">"سيتم إلغاء توصيل <xliff:g id="DEVICE_NAME">%1$s</xliff:g> من صوت الوسائط."</string>
-    <string name="bluetooth_disconnect_headset_profile" msgid="7857706184371154920">"سيتم إلغاء توصيل <xliff:g id="DEVICE_NAME">%1$s</xliff:g> من صوت السماعة بدون لمس الجهاز."</string>
+    <string name="bluetooth_disconnect_headset_profile" msgid="7857706184371154920">"سيتم إلغاء توصيل <xliff:g id="DEVICE_NAME">%1$s</xliff:g> من صوت السماعة بدون تلامس الأجهزة."</string>
     <string name="bluetooth_disconnect_hid_profile" msgid="4794752406024916925">"سيتم إلغاء توصيل <xliff:g id="DEVICE_NAME">%1$s</xliff:g> من جهاز الإرسال."</string>
     <string name="bluetooth_disconnect_pan_user_profile" msgid="283176886159444413">"سيتم قطع الدخول إلى الإنترنت عبر <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_disconnect_pan_nap_profile" product="tablet" msgid="733193449967330892">"سيتم قطع اتصال <xliff:g id="DEVICE_NAME">%1$s</xliff:g> من مشاركة اتصال الإنترنت على هذا الجهاز اللوحي."</string>
@@ -904,16 +833,20 @@
     <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="wifi_ask_enable" msgid="6860056048266810769">"‏يريد <xliff:g id="REQUESTER">%s</xliff:g> تشغيل Wi-Fi"</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>
+    <!-- no translation found for nfc_secure_settings_title (4906958426927741485) -->
+    <skip />
     <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>
@@ -922,14 +855,14 @@
     <string name="android_beam_label" msgid="7168565080321110094">"‏شعاع Android"</string>
     <string name="android_beam_explained" msgid="5684416131846701256">"‏عند تفعيل هذه الميزة، يمكنك إرسال محتوى التطبيق إلى جهاز به اتصال NFC عن طريق الإمساك بالجهازين بالقرب من بعضهما. ويمكنك على سبيل المثال إرسال صفحات ويب وفيديوهات YouTube وجهات اتصال وغيرها.\n\nما عليك سوى تقريب الجهازين لبعضهما بعضًا (من الخلف عادةً) والنقر على الشاشة وسيحدّد التطبيق ما يتم إرساله."</string>
     <string name="wifi_quick_toggle_title" msgid="2737097538432862807">"Wi‑Fi"</string>
-    <string name="wifi_quick_toggle_summary" msgid="4957267477820468553">"‏تشغيل شبكة Wi-Fi"</string>
+    <string name="wifi_quick_toggle_summary" msgid="4957267477820468553">"‏تفعيل شبكة Wi-Fi"</string>
     <string name="wifi_settings" msgid="8313301946393559700">"Wi‑Fi"</string>
     <string name="wifi_settings_master_switch_title" msgid="6043556596728888">"‏استخدام Wi-Fi"</string>
     <string name="wifi_settings_category" msgid="3523464780563778321">"‏إعدادات Wi-Fi"</string>
     <string name="wifi_settings_title" msgid="3879649725059512799">"Wi‑Fi"</string>
     <string name="wifi_settings_summary" msgid="784074686763572811">"إعداد وإدارة نقاط الدخول اللاسلكية"</string>
     <string name="wifi_select_network" msgid="6692897876718813259">"‏تحديد Wi-Fi"</string>
-    <string name="wifi_starting" msgid="6147022683967506341">"‏جارٍ تشغيل Wi-Fi..."</string>
+    <string name="wifi_starting" msgid="6147022683967506341">"‏جارٍ تفعيل Wi-Fi..."</string>
     <string name="wifi_stopping" msgid="4471699665741299711">"‏إيقاف Wi-Fi…"</string>
     <string name="wifi_error" msgid="4903954145386086899">"خطأ"</string>
     <string name="wifi_sap_no_channel_error" msgid="2126487622024749402">"لا يتوفر التردد ٥ غيغاهرتز في هذا البلد"</string>
@@ -957,14 +890,14 @@
     <string name="wifi_setting_sleep_policy_error" msgid="4512566787805720422">"حدثت مشكلة أثناء تغيير الإعدادات"</string>
     <string name="wifi_suspend_efficiency_title" msgid="3589291227092825754">"تحسين الفعالية"</string>
     <string name="wifi_suspend_optimizations" msgid="5840680940416640209">"‏تحسين Wi-Fi"</string>
-    <string name="wifi_suspend_optimizations_summary" msgid="8204170804523356781">"‏تقليل استخدام البطارية إلى الحد الأدنى عند تشغيل Wi-Fi"</string>
+    <string name="wifi_suspend_optimizations_summary" msgid="8204170804523356781">"‏تقليل استخدام البطارية إلى الحد الأدنى عند تفعيل Wi-Fi"</string>
     <string name="wifi_limit_optimizations_summary" msgid="8461087338100462302">"‏تقييد طاقة البطارية لاتصال Wi‑Fi"</string>
     <string name="wifi_switch_away_when_unvalidated" msgid="681353878530696197">"‏التبديل إلى بيانات الجوّال في حالة انقطاع اتصال شبكة Wi‑Fi بالإنترنت."</string>
     <string name="wifi_cellular_data_fallback_title" msgid="2844653839490977040">"التبديل إلى بيانات الجوال تلقائيًا"</string>
     <string name="wifi_cellular_data_fallback_summary" msgid="7039944853033554386">"‏يمكنك استخدام بيانات شبكة الجوّال إذا تعذّر الدخول إلى الإنترنت عبر شبكة Wi‑Fi، وقد يتم فرض رسوم على استخدام البيانات."</string>
     <string name="wifi_add_network" msgid="4178564862173751181">"إضافة شبكة"</string>
     <string name="wifi_configure_settings_preference_title" msgid="2536725796700696566">"‏إعدادات Wi-Fi"</string>
-    <string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="7822368955551467382">"‏ستتم إعادة تشغيل شبكة Wi‑Fi تلقائيًا"</string>
+    <string name="wifi_configure_settings_preference_summary_wakeup_on" msgid="7822368955551467382">"‏ستتم إعادة تفعيل شبكة Wi‑Fi تلقائيًا"</string>
     <string name="wifi_configure_settings_preference_summary_wakeup_off" msgid="5710203586018223864">"‏لن تتم إعادة تشغيل اتّصال Wi‑Fi تلقائيًا"</string>
     <string name="wifi_access_points" msgid="5846755709207101844">"‏شبكات Wi-Fi"</string>
     <string name="wifi_menu_more_options" msgid="1236651929987819716">"مزيد من الخيارات"</string>
@@ -976,7 +909,7 @@
     <string name="wifi_menu_remember" msgid="8639523871321603112">"تذكر الشبكة"</string>
     <string name="wifi_menu_forget" msgid="6557142984528657361">"حذف الشبكة"</string>
     <string name="wifi_menu_modify" msgid="7246143391161038875">"تعديل الشبكة"</string>
-    <string name="wifi_empty_list_wifi_off" msgid="7697422506708419298">"‏لمعرفة الشبكات المتاحة، يُرجى تشغيل Wi-Fi."</string>
+    <string name="wifi_empty_list_wifi_off" msgid="7697422506708419298">"‏لمعرفة الشبكات المتاحة، يُرجى تفعيل Wi-Fi."</string>
     <string name="wifi_empty_list_wifi_on" msgid="5043989454000825717">"‏جارٍ البحث عن شبكات Wi-Fi..."</string>
     <string name="wifi_empty_list_user_restricted" msgid="454861411536708709">"‏ليس لديك إذن لتغيير شبكة Wi‑Fi."</string>
     <string name="wifi_more" msgid="8742256421693351035">"المزيد"</string>
@@ -987,8 +920,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 +931,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 +939,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>
@@ -1030,12 +965,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 +985,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,11 +1005,13 @@
     <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>
+    <!-- no translation found for wifi_no_user_cert_warning (8466376918835248956) -->
+    <skip />
     <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>
     <string name="wifi_carrier_content" msgid="2876499905644083615">"الاتصال عبر <xliff:g id="NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_scan_always_turnon_message" msgid="2165909441512029921">"‏لتحسين مستوى دقة تحديد الموقع ولأغراض أخرى، يحتاج <xliff:g id="APP_NAME">%1$s</xliff:g> إلى تشغيل البحث عن الشبكات، حتى مع إيقاف Wi-Fi.\n\nهل تريد السماح بذلك لجميع التطبيقات التي تحتاج إلى فحص؟"</string>
+    <string name="wifi_scan_always_turnon_message" msgid="2165909441512029921">"‏لتحسين مستوى دقة تحديد الموقع ولأغراض أخرى، يحتاج <xliff:g id="APP_NAME">%1$s</xliff:g> إلى تفعيل البحث عن الشبكات، حتى مع إيقاف Wi-Fi.\n\nهل تريد السماح بذلك لجميع التطبيقات التي تحتاج إلى فحص؟"</string>
     <string name="wifi_scan_always_turn_on_message_unknown" msgid="4903345360745717385">"‏لتحسين مستوى دقة تحديد الموقع ولأغراض أخرى، يحتاج تطبيق غير معروف إلى تفعيل البحث عن الشبكات، حتى مع إيقاف Wi-Fi.\n\nهل تريد السماح بذلك لجميع التطبيقات التي تحتاج إلى إجراء هذا البحث؟"</string>
     <string name="wifi_scan_always_turnoff_message" msgid="93691286302680448">"لإيقاف هذا، يمكنك الانتقال إلى \"متقدم\" في القائمة الكاملة."</string>
     <string name="wifi_scan_always_confirm_allow" msgid="4154200627800959777">"سماح"</string>
@@ -1127,7 +1070,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>
@@ -1172,15 +1116,16 @@
     <string name="wifi_hotspot_on_local_only_subtext" msgid="965051079784031636">"يشارك التطبيق المحتوى. لمشاركة اتصال الإنترنت، يجب إيقاف نقطة الاتصال، ثم تشغيلها."</string>
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"لم يتم تعيين كلمة مرور"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"اسم نقطة الاتصال"</string>
-    <string name="wifi_hotspot_name_summary_connecting" msgid="6178719924661022928">"جارٍ تشغيل <xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g>..."</string>
+    <string name="wifi_hotspot_name_summary_connecting" msgid="6178719924661022928">"جارٍ تفعيل <xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g>..."</string>
     <string name="wifi_hotspot_name_summary_connected" msgid="6935457127884928249">"يمكن توصيل الأجهزة الأخرى بشبكة <xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"كلمة مرور نقطة الاتصال"</string>
     <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"نطاق نقطة الوصول"</string>
     <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_tether_starting" msgid="8879874184033857814">"جارٍ تشغيل نقطة الاتصال…"</string>
+    <!-- no translation found for wifi_hotspot_auto_off_summary (8283656069997871354) -->
+    <skip />
+    <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>
     <string name="wifi_tether_failed_subtext" msgid="437190628041885500">"‏خطأ في نقطة اتصال Wi-Fi المحمولة"</string>
@@ -1188,6 +1133,20 @@
     <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>
+    <!-- no translation found for wifi_add_app_single_network_summary (8455616967601552440) -->
+    <skip />
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"جارٍ حفظ الشبكة…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"تم حفظ الشبكة."</string>
+    <!-- no translation found for wifi_add_app_network_save_failed_summary (7223817782309294652) -->
+    <skip />
+    <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>
+    <!-- no translation found for wifi_add_app_networks_summary (2088967184512169910) -->
+    <skip />
+    <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,19 @@
     <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>
+    <!-- no translation found for wifi_disconnected_from (5249576734324159708) -->
+    <skip />
     <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>
@@ -1303,7 +1265,7 @@
     <string name="auto_brightness_subtitle" msgid="6839449395639517870">"مستوى السطوع المفضل بالنسبة لك"</string>
     <string name="auto_brightness_off_summary" msgid="4993150980274474226">"عدم ضبط السطوع بحسب الإضاءة المتاحة"</string>
     <string name="auto_brightness_very_high_summary" msgid="2784981315548144255">"زيادة استخدام البطارية"</string>
-    <string name="auto_brightness_disclaimer" msgid="1868395832774087351">"يمكنك تحسين مستوى السطوع حسب الإضاءة. وعند تشغيل هذه الميزة، سيظل بإمكانك ضبط السطوع مؤقتًا."</string>
+    <string name="auto_brightness_disclaimer" msgid="1868395832774087351">"يمكنك تحسين مستوى السطوع حسب الإضاءة. وعند تفعيل هذه الميزة، سيظل بإمكانك ضبط السطوع مؤقتًا."</string>
     <string name="auto_brightness_description" msgid="6807117118142381193">"سيتم ضبط سطوع الشاشة تلقائيًا حسب البيئة المحيطة والأنشطة. ويمكنك تحريك شريط التمرير يدويًا لضبط السطوع التكيُّفي حسبما تفضّل."</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"موازنة اللون الأبيض للشاشة"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
@@ -1314,7 +1276,7 @@
     <string name="adaptive_sleep_summary_no_permission" msgid="5107880175176848307">"يمكنك النقر لإدارة الأذونات في \"خدمات تخصيص الأجهزة\"."</string>
     <string name="adaptive_sleep_description" msgid="1835321775327187860">"منع إطفاء الشاشة إذا كنت تنظر إليها"</string>
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"‏يستخدم إعداد \"استعراض الشاشة\" الكاميرا الأمامية لمعرفة ما إذا كان أحد ينظر إلى الشاشة. يعمل هذا الإعداد على الجهاز، لكن لن يتم تخزين أي صور أو إرسالها إلى Google."</string>
-    <string name="adaptive_sleep_contextual_slice_summary" msgid="4920636187115578946">"إبقاء شاشتك قيد التشغيل أثناء استعراضها"</string>
+    <string name="adaptive_sleep_contextual_slice_summary" msgid="4920636187115578946">"إبقاء شاشتك قيد التفعيل أثناء استعراضها"</string>
     <string name="night_display_title" msgid="8532432776487216581">"الإضاءة الليلية"</string>
     <string name="night_display_text" msgid="4789324042428095383">"تؤدي الإضاءة الليلية إلى تلوين الشاشة باللون الكهرماني الخفيف، ما يسهّل النظر إلى الشاشة في الإضاءة الخافتة ويمكن أن يساعدك على الشعور بالنعاس أيضًا."</string>
     <string name="night_display_auto_mode_title" msgid="5869128421470824381">"تحديد جدول زمني"</string>
@@ -1348,13 +1310,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 +1333,8 @@
     <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>
+    <!-- no translation found for style_suggestion_title (1213747484782364775) -->
+    <skip />
     <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>
@@ -1422,7 +1390,7 @@
     <string name="sim_change_data_title" msgid="4663239438584588847">"هل تريد بيانات الجوّال من <xliff:g id="CARRIER">%1$s</xliff:g>؟"</string>
     <string name="sim_change_data_message" msgid="3046178883369645132">"أنت تستخدم <xliff:g id="CARRIER2_0">%2$s</xliff:g> للاتصال ببيانات الجوّال. عند التبديل إلى <xliff:g id="CARRIER1">%1$s</xliff:g>، لن يتم استخدام <xliff:g id="CARRIER2_1">%2$s</xliff:g> مرة أخرى للاتصال ببيانات الجوّال."</string>
     <string name="sim_change_data_ok" msgid="4922114750417276560">"استخدام <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="sim_preferred_title" msgid="7182406911552216373">"‏هل تريد تحديث شريحة SIM المفضلة؟"</string>
+    <string name="sim_preferred_title" msgid="7182406911552216373">"‏هل تريد إعادة تحميل شريحة SIM المفضلة؟"</string>
     <string name="sim_preferred_message" msgid="6004009449266648351">"‏<xliff:g id="NEW_SIM">%1$s</xliff:g> هي شريحة SIM الوحيدة في جهازك، فهل تريد استخدام هذه الشريحة لبيانات الجوال والمكالمات والرسائل القصيرة SMS؟"</string>
     <string name="wrong_pin_code_pukked" msgid="3414172752791445033">"‏رمز \"رقم التعريف الشخصي\" لبطاقة SIM غير صحيح، ويلزمك الاتصال الآن بمشغّل شبكة الجوّال لإلغاء قفل الجهاز."</string>
     <plurals name="wrong_pin_code" formatted="false" msgid="4054088588731305475">
@@ -1446,7 +1414,7 @@
     <string name="baseband_version" msgid="2600182227599835857">"إصدار النطاق الأساسي"</string>
     <string name="kernel_version" msgid="3513538109381366881">"إصدار النواة"</string>
     <string name="build_number" msgid="9009733242117579826">"رقم الإصدار"</string>
-    <string name="module_version" msgid="1787518340082046658">"‏تحديث نظام Google Play"</string>
+    <string name="module_version" msgid="1787518340082046658">"‏إعادة تحميل نظام Google Play"</string>
     <string name="device_info_not_available" msgid="4804474466616712326">"غير متاح"</string>
     <string name="device_status_activity_title" msgid="1812666241137263882">"الحالة"</string>
     <string name="device_status" msgid="7988547478034984649">"الحالة"</string>
@@ -1456,9 +1424,10 @@
     <string name="storage_settings_for_app" msgid="229425418984637483">"التخزين وذاكرة التخزين المؤقت"</string>
     <string name="storage_usb_settings" msgid="7058142934214211583">"التخزين"</string>
     <string name="storage_settings_title" msgid="486118156723194815">"إعدادات وحدة التخزين"</string>
-    <string name="storage_settings_summary" product="nosdcard" msgid="3858049818577638926">"‏إلغاء تركيب وحدة تخزين USB، وعرض مساحة التخزين المتاحة"</string>
-    <string name="storage_settings_summary" product="default" msgid="267557695753980969">"‏إلغاء تحميل بطاقة SD، عرض مساحة التخزين المتاحة"</string>
+    <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 +1454,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>
@@ -1498,16 +1468,16 @@
     <string name="memory_calculating_size" msgid="3898240439798661242">"جارٍ الحساب..."</string>
     <string name="memory_apps_usage" msgid="8818570780540532952">"التطبيقات وبيانات التطبيقات"</string>
     <string name="memory_media_usage" msgid="5161308657995646963">"الوسائط"</string>
-    <string name="memory_downloads_usage" msgid="8252462247720191179">"التنزيلات"</string>
+    <string name="memory_downloads_usage" msgid="8252462247720191179">"المحتوى الذي تم تنزيله"</string>
     <string name="memory_dcim_usage" msgid="3568913845973164352">"صور وفيديوهات"</string>
     <string name="memory_music_usage" msgid="8100634000114206429">"ملفات صوتية (موسيقى ونغمات رنين ووسائط، إلخ.)"</string>
     <string name="memory_media_misc_usage" msgid="7066851245178533269">"ملفات أخرى"</string>
     <string name="memory_media_cache_usage" msgid="780808666853685824">"البيانات المؤقتة"</string>
-    <string name="sd_eject" product="nosdcard" msgid="6136102589751843304">"إلغاء تركيب وحدة التخزين المشتركة"</string>
-    <string name="sd_eject" product="default" msgid="8062832622096296251">"‏إلغاء تحميل بطاقة SD"</string>
-    <string name="sd_eject_summary" product="nosdcard" msgid="6859940774161708871">"‏إلغاء تركيب وحدة تخزين USB الداخلية"</string>
-    <string name="sd_eject_summary" product="default" msgid="5151243312587186226">"‏إلغاء تركيب بطاقة SD كي تتمكن من إزالتها بشكل آمن"</string>
-    <string name="sd_insert_summary" product="nosdcard" msgid="9164545135649775664">"‏إدراج وحدة تخزين USB للتركيب"</string>
+    <string name="sd_eject" product="nosdcard" msgid="6136102589751843304">"إلغاء تثبيت وحدة التخزين المشتركة"</string>
+    <string name="sd_eject" product="default" msgid="8062832622096296251">"‏إلغاء تثبيت بطاقة SD"</string>
+    <string name="sd_eject_summary" product="nosdcard" msgid="6859940774161708871">"‏إلغاء تثبيت وحدة تخزين USB الداخلية"</string>
+    <string name="sd_eject_summary" product="default" msgid="5151243312587186226">"‏إلغاء تثبيت بطاقة SD كي تتمكن من إزالتها بشكل آمن"</string>
+    <string name="sd_insert_summary" product="nosdcard" msgid="9164545135649775664">"‏إدراج وحدة تخزين USB للتثبيت"</string>
     <string name="sd_insert_summary" product="default" msgid="5949168259622002192">"‏إدراج بطاقة SD للتحميل"</string>
     <string name="sd_mount" product="nosdcard" msgid="8305985249945415150">"‏تثبيت وحدة تخزين USB"</string>
     <string name="sd_mount" product="default" msgid="5279813999455776169">"‏تثبيت بطاقة SD"</string>
@@ -1521,17 +1491,17 @@
     <string name="memory_clear_cache_message" msgid="4759561226480906588">"يؤدي ذلك إلى محو البيانات المؤقتة لكل التطبيقات."</string>
     <string name="mtp_ptp_mode_summary" msgid="7969656567437639239">"‏وظيفة MTP أو PTP نشطة"</string>
     <string name="dlg_confirm_unmount_title" product="nosdcard" msgid="7694112411895701320">"‏إلغاء تثبيت وحدة تخزين USB؟"</string>
-    <string name="dlg_confirm_unmount_title" product="default" msgid="8251329019960361646">"‏هل تريد إلغاء تحميل بطاقة SD؟"</string>
+    <string name="dlg_confirm_unmount_title" product="default" msgid="8251329019960361646">"‏هل تريد إلغاء تثبيت بطاقة SD؟"</string>
     <string name="dlg_confirm_unmount_text" product="nosdcard" msgid="1212025106709645023">"‏في حالة إلغاء تثبيت وحدة تخزين USB، ستتوقف بعض التطبيقات التي تستخدمها وربما لا يتم توفيرها حتى يتم إعادة تثبيت وحدة تخزين USB."</string>
-    <string name="dlg_confirm_unmount_text" product="default" msgid="3887768438615563697">"‏في حالة إلغاء تحميل بطاقة SD، ستتوقف بعض التطبيقات التي تستخدمها وربما لا تتوفر حتى يتم إعادة تحميل بطاقة SD."</string>
+    <string name="dlg_confirm_unmount_text" product="default" msgid="3887768438615563697">"‏في حالة إلغاء تثبيت بطاقة SD، ستتوقف بعض التطبيقات التي تستخدمها وربما لا تتوفر حتى يتم إعادة تثبيت بطاقة SD."</string>
     <string name="dlg_error_unmount_title" product="nosdcard" msgid="2205587942165199845"></string>
     <string name="dlg_error_unmount_title" product="default" msgid="2205587942165199845"></string>
     <string name="dlg_error_unmount_text" product="nosdcard" msgid="7876201891724279436">"‏تعذر إلغاء تثبيت وحدة تخزين USB. أعد المحاولة لاحقًا."</string>
-    <string name="dlg_error_unmount_text" product="default" msgid="2185659901137961711">"‏تعذر إلغاء تحميل بطاقة SD. أعد المحاولة لاحقًا."</string>
-    <string name="unmount_inform_text" product="nosdcard" msgid="5932607205977999175">"‏سيتم إلغاء تركيب وحدة تخزين USB."</string>
-    <string name="unmount_inform_text" product="default" msgid="716578785262713312">"‏سيتم إلغاء تركيب بطاقة SD."</string>
-    <string name="sd_ejecting_title" msgid="1641122369013595273">"إلغاء التحميل"</string>
-    <string name="sd_ejecting_summary" msgid="861928572729341132">"إلغاء التحميل قيد التقدم"</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="2185659901137961711">"‏تعذر إلغاء تثبيت بطاقة SD. أعد المحاولة لاحقًا."</string>
+    <string name="unmount_inform_text" product="nosdcard" msgid="5932607205977999175">"‏سيتم إلغاء تثبيت وحدة تخزين USB."</string>
+    <string name="unmount_inform_text" product="default" msgid="716578785262713312">"‏سيتم إلغاء تثبيت بطاقة SD."</string>
+    <string name="sd_ejecting_title" msgid="1641122369013595273">"إلغاء التثبيت"</string>
+    <string name="sd_ejecting_summary" msgid="861928572729341132">"إلغاء التثبيت قيد التقدم"</string>
     <string name="storage_low_title" msgid="8002650511493419567">"مساحة التخزين منخفضة"</string>
     <string name="storage_low_summary" msgid="7341022293583384506">"قد لا تعمل بعض ميزات النظام، مثل المزامنة بشكل صحيح. حاول تفريغ مساحة من خلال حذف عناصر أو إلغاء تثبيتها، مثل التطبيقات أو محتوى الوسائط."</string>
     <string name="storage_menu_rename" msgid="8549835371429159336">"إعادة تسمية"</string>
@@ -1697,6 +1667,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>
@@ -1745,7 +1716,10 @@
     <string name="tether_settings_summary_hotspot_on_tether_on" msgid="6110241048260139633">"تم تفعيل نقطة الاتصال وإعداد التوصيل"</string>
     <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_disabled_on_data_saver" msgid="9054069463426952689">"يتعذر توصيل نقاط الاتصال المحمولة أو استخدامها أثناء تفعيل توفير البيانات"</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>
@@ -1826,7 +1800,7 @@
     <string name="safety_and_regulatory_info" msgid="8285048080439298528">"دليل السلامة والمعلومات التنظيمية"</string>
     <string name="copyright_title" msgid="83245306827757857">"حقوق الطبع والنشر"</string>
     <string name="license_title" msgid="8745742085916617540">"الترخيص"</string>
-    <string name="module_license_title" msgid="8705484239826702828">"‏تراخيص تحديث نظام Google Play"</string>
+    <string name="module_license_title" msgid="8705484239826702828">"‏تراخيص إعادة تحميل نظام Google Play"</string>
     <string name="terms_title" msgid="2071742973672326073">"الأحكام والشروط"</string>
     <string name="webview_license_title" msgid="5832692241345780517">"‏ترخيص WebView للنظام"</string>
     <string name="wallpaper_attributions" msgid="3080339190260272255">"الخلفيات"</string>
@@ -1840,9 +1814,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 +1822,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>
@@ -1985,7 +1959,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 +2159,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,32 +2167,70 @@
     <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>
+    <!-- no translation found for accessibility_introduction_title (8834950581512452348) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_shortcut_title (8125867833704517463) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_summary_software (2820923641553461297) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software_gesture (8078659880723370597) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software_gesture_talkback (7422753388389160524) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software (4796192466943479849) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software (8922102767509399352) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_gesture (7019216141092205215) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_gesture_talkback (5967787136477866253) -->
+    <skip />
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"الضغط مع الاستمرار على مفاتيح التحكم في مستوى الصوت"</string>
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_hardware (7318273124091000632) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_triple_tap (6672798007229795841) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_triple_tap (3081710523998838305) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_shortcut_settings (836783442658447995) -->
+    <skip />
     <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>
     <string name="accessibility_toggle_screen_magnification_auto_update_preference_title" msgid="4987009529235165664">"التحديث التلقائي لتكبير الشاشة"</string>
-    <string name="accessibility_toggle_screen_magnification_auto_update_preference_summary" msgid="9034532513972547720">"تحديث تكبير الشاشة أثناء تنقلات التطبيق"</string>
+    <string name="accessibility_toggle_screen_magnification_auto_update_preference_summary" msgid="9034532513972547720">"إعادة تحميل تكبير الشاشة أثناء تنقلات التطبيق"</string>
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"إنهاء الاتصال عبر زر التشغيل"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"مؤشر الماوس الكبير"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"إزالة الصور المتحركة"</string>
@@ -2237,24 +2249,46 @@
     <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>
+    <!-- no translation found for accessibility_display_inversion_switch_title (7458595722552743503) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_autoclick_default_title (2060909980831267041) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_autoclick_shorter_desc (7631013255724544348) -->
+    <skip />
+    <!-- no translation found for accessibility_autoclick_longer_desc (2566025502981487443) -->
+    <skip />
+    <!-- no translation found for accessibility_autoclick_seekbar_desc (2370077188725433271) -->
+    <skip />
     <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_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,46 +2304,18 @@
     <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>
-    </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>
-    <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>
-    <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>
-    <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>
+    <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>
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_extremely_short_delay (8226135362782015387) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_very_short_delay (4440667435012753839) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_short_delay (1627969745093865560) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_long_delay (1126608261854734991) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_very_long_delay (6624972454933133135) -->
+    <!-- no translation found for accessibilty_autoclick_delay_unit_second (8132935106204075064) -->
     <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>
     <string name="accessibility_vibration_summary_low" msgid="6482721005400340317">"تم ضبط الرنين والإشعار على \"منخفض\"."</string>
@@ -2431,7 +2437,7 @@
     <string name="background_activity_summary_whitelisted" msgid="6808917852577742965">"يتعذر تقييد استخدام الخلفية."</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"هل تريد وضع حد لنشاط التطبيق في الخلفية؟"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"قد يتأثر أداء أحد التطبيقات سلبًا في حالة وضع حد لنشاطه في الخلفية"</string>
-    <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"نظرًا لعدم تعيين هذا التطبيق للعمل على تحسين البطارية، فلا يمكنك تقييده.\n\nلتقييد التطبيق، شغِّل ميزة تحسين البطارية أولاً."</string>
+    <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"نظرًا لعدم تعيين هذا التطبيق للعمل على تحسين البطارية، فلا يمكنك تقييده.\n\nلتقييد التطبيق، فعِّل ميزة تحسين البطارية أولاً."</string>
     <string name="device_screen_usage" msgid="1011630249648289909">"استخدام الشاشة منذ اكتمال الشحن"</string>
     <string name="power_usage_list_summary" msgid="3237540201918492925">"استخدام البطارية فور اكتمال الشحن"</string>
     <string name="screen_usage_summary" msgid="1393184943010909471">"مقدار وقت تشغيل الشاشة منذ الشحن الكامل"</string>
@@ -2441,9 +2447,9 @@
     <string name="battery_stats_on_battery" msgid="1553011980384645514">"<xliff:g id="TIME">%1$s</xliff:g> على البطارية"</string>
     <string name="battery_stats_duration" msgid="6918768703070999743">"<xliff:g id="TIME">%1$s</xliff:g> منذ عدم التوصيل"</string>
     <string name="battery_stats_charging_label" msgid="6204814386861342145">"جارٍ الشحن"</string>
-    <string name="battery_stats_screen_on_label" msgid="8989312180491200138">"الشاشة قيد التشغيل"</string>
+    <string name="battery_stats_screen_on_label" msgid="8989312180491200138">"الشاشة قيد التفعيل"</string>
     <string name="battery_stats_gps_on_label" msgid="5626424078405382686">"‏GPS (نظام تحديد المواقع العالمي) على"</string>
-    <string name="battery_stats_camera_on_label" msgid="555635201416769359">"تشغيل الكاميرا"</string>
+    <string name="battery_stats_camera_on_label" msgid="555635201416769359">"تفعيل الكاميرا"</string>
     <string name="battery_stats_flashlight_on_label" msgid="1621027969559427783">"تشغيل ضوء الفلاش"</string>
     <string name="battery_stats_wifi_running_label" msgid="6461551370010379049">"Wi‑Fi"</string>
     <string name="battery_stats_wake_lock_label" msgid="8115041205778441548">"في الوضع النشط"</string>
@@ -2451,8 +2457,8 @@
     <!-- no translation found for battery_stats_last_duration (3088100394725340600) -->
     <skip />
     <string name="awake" msgid="5405871714019268978">"وقت الوضع النشط للجهاز"</string>
-    <string name="wifi_on_time" msgid="3880778525760926066">"‏وقت تشغيل Wi-Fi"</string>
-    <string name="bluetooth_on_time" msgid="8424625554628450028">"‏وقت تشغيل Wi-Fi"</string>
+    <string name="wifi_on_time" msgid="3880778525760926066">"‏وقت تفعيل Wi-Fi"</string>
+    <string name="bluetooth_on_time" msgid="8424625554628450028">"‏وقت تفعيل Wi-Fi"</string>
     <string name="advanced_battery_title" msgid="3005993394776555079">"استخدام البطارية"</string>
     <string name="history_details_title" msgid="8628584613889559355">"تفاصيل السجل"</string>
     <string name="battery_details_title" msgid="4531369291819754178">"استخدام البطارية"</string>
@@ -2534,10 +2540,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"تستخدم تطبيقاتك مقدارًا عاديًا من الطاقة. إذا كانت التطبيقات تستهلك مقدارًا كبيرًا جدًا من الطاقة، سيقترح جهازك إجراءات يمكنك اتخاذها.\n\nيمكنك متى شئت تفعيل ميزة \"توفير شحن البطارية\" إذا كانت طاقة البطارية على وشك النفاد."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"مدير البطارية"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"إدارة التطبيقات تلقائيًا"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"تقييد استخدام البطارية للتطبيقات التي لا تستخدمها كثيرًا"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"عندما يرصد \"مدير البطارية\" تطبيقات تستنزف شحن البطارية، سيتوفر لديك خيار بتقييد هذه التطبيقات، علمًا بأن التطبيقات المقيدة قد لا تعمل على نحو صحيح وقد تتأخر الإشعارات."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"عندما يرصد \"مدير البطارية\" تطبيقات تستنزف شحن البطارية، سيتوفر لديك خيار بتقييد هذه التطبيقات، علمًا بأن التطبيقات المقيدة قد لا تعمل على نحو صحيح وقد تتأخر الإشعارات."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"عندما يرصد \"مدير البطارية\" تطبيقات تستنزف شحن البطارية، سيتوفر لديك خيار بتقييد هذه التطبيقات، علمًا بأن التطبيقات المقيدة قد لا تعمل على نحو صحيح وقد تتأخر الإشعارات."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"تقييد استخدام البطارية للتطبيقات التي لا تستخدمها كثيرًا"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"عندما يرصد \"مدير البطارية\" تطبيقات تستنزف شحن البطارية، سيتوفر لديك خيار بتقييد هذه التطبيقات، علمًا بأن التطبيقات المقيدة قد لا تعمل على نحو صحيح وقد تتأخر الإشعارات."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"التطبيقات المقيّدة"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="zero">‏تحديد مدى استخدام البطارية لـ %1$d تطبيق</item>
@@ -2551,7 +2555,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"تستهلك هذه التطبيقات شحن البطارية في الخلفية. علمًا بأن التطبيقات المقيدة قد لا تعمل على نحو صحيح وقد تتأخر الإشعارات."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"استخدام مدير البطارية"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"الرصد عندما تستنزف تطبيقات شحن البطارية."</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"تفعيل / الرصد عندما تستنزف تطبيقات شحن البطارية"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"تفعيل / الرصد عندما تستنزف تطبيقات شحن البطارية"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"إيقاف"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="zero">‏تم تقييد %1$d تطبيق</item>
@@ -2662,12 +2666,11 @@
     <string name="menu_stats_unplugged" msgid="7125297366200634285">"<xliff:g id="UNPLUGGED">%1$s</xliff:g> منذ عدم التوصيل"</string>
     <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="menu_stats_refresh" msgid="6727628139586938835">"إعادة تحميل"</string>
     <string name="process_mediaserver_label" msgid="6135260215912215092">"خادم الوسائط"</string>
     <string name="process_dex2oat_label" msgid="1190208677726583153">"تحسين التطبيقات"</string>
     <string name="battery_saver" msgid="7737147344510595864">"توفير شحن البطارية"</string>
-    <string name="battery_saver_auto_title" msgid="6789753787070176144">"تشغيل الميزة تلقائيًا"</string>
+    <string name="battery_saver_auto_title" msgid="6789753787070176144">"تفعيل الميزة تلقائيًا"</string>
     <string name="battery_saver_auto_no_schedule" msgid="5123639867350138893">"بلا جدول زمني"</string>
     <string name="battery_saver_auto_routine" msgid="4656495097900848608">"مستند إلى روتين الشحن"</string>
     <string name="battery_saver_auto_percentage" msgid="558533724806281980">"مستند إلى النسبة المئوية"</string>
@@ -2744,8 +2747,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>
@@ -2761,10 +2763,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"لا تتوفر بيانات الاعتماد لهذا المستخدم"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"‏تم التثبيت للاستخدام بواسطة الشبكة الافتراضية الخاصة (VPN) والتطبيقات"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"‏تم التثبيت للاستخدام بواسطة Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"تم التثبيت للتحقق من مصدر تثبيت التطبيق"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"هل تريد إزالة جميع المحتوى؟"</string>
     <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="app_src_certificate" msgid="436410009047766408">"شهادة مصدر التطبيق"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"تثبيت هذه الشهادة على مسؤوليتك الخاصة"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"تتحقق شهادات مصدر التطبيق من أن التطبيقات آمنة لاستخدامها على جهازك. لا تثبِّت شهادات إلا من المؤسسات التي تثق فيها."</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>
@@ -2792,10 +2806,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>
@@ -2809,6 +2819,11 @@
     <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>
+    <!-- no translation found for notification_history_count (1859304685071321991) -->
     <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>
@@ -2830,7 +2845,7 @@
     <string name="background_data_dialog_title" msgid="1692005302993229867">"إيقاف بيانات الخلفية؟"</string>
     <string name="background_data_dialog_message" msgid="7760280837612824670">"يؤدي إيقاف بيانات الخلفية إلى إطالة عمر البطارية وتقليل استخدام البيانات. قد يكون هناك بعض التطبيقات التي ما زالت تستخدم اتصال بيانات الخلفية."</string>
     <string name="sync_automatically" msgid="4874122892765430304">"مزامنة تلقائية لبيانات"</string>
-    <string name="sync_enabled" msgid="5794103781356455043">"المزامنة قيد التشغيل"</string>
+    <string name="sync_enabled" msgid="5794103781356455043">"المزامنة قيد التفعيل"</string>
     <string name="sync_disabled" msgid="1636223106968593391">"المزامنة متوقفة"</string>
     <string name="sync_error" msgid="846923369794727644">"خطأ في المزامنة"</string>
     <string name="last_synced" msgid="1527008461298110443">"تاريخ آخر مزامنة: <xliff:g id="LAST_SYNC_TIME">%1$s</xliff:g>"</string>
@@ -2901,7 +2916,7 @@
     <string name="data_usage_label_foreground" msgid="8782117644558473624">"المقدمة"</string>
     <string name="data_usage_label_background" msgid="8862781660427421859">"الخلفية"</string>
     <string name="data_usage_app_restricted" msgid="312065316274378518">"مقيَّد"</string>
-    <string name="data_usage_disable_mobile" msgid="6183809500102606801">"هل تريد إيقاف تشغيل بيانات الجوّال؟"</string>
+    <string name="data_usage_disable_mobile" msgid="6183809500102606801">"هل تريد إيقاف تفعيل بيانات الجوّال؟"</string>
     <string name="data_usage_disable_mobile_limit" msgid="1370147078938479538">"تعيين حد لبيانات الجوال"</string>
     <string name="data_usage_disable_4g_limit" msgid="3084868504051520840">"‏تعيين حد بيانات لـ 4G"</string>
     <string name="data_usage_disable_3g_limit" msgid="8867555130268898044">"‏تعيين حد لبيانات 2G-3G"</string>
@@ -2952,10 +2967,10 @@
     <string name="data_usage_total_during_range_mobile" product="tablet" msgid="45300375132284265">"<xliff:g id="RANGE">%2$s</xliff:g>: تم استخدام <xliff:g id="TOTAL">%1$s</xliff:g> تقريبًا، وفقًا لحساب الجهاز اللوحي. قد يختلف حساب استخدام البيانات لدى مشغل شبكة الجوال."</string>
     <string name="data_usage_total_during_range_mobile" product="default" msgid="3183594094081558193">"<xliff:g id="RANGE">%2$s</xliff:g>: تم استخدام <xliff:g id="TOTAL">%1$s</xliff:g> تقريبًا، وفقًا لحساب الهاتف. قد يختلف حساب استخدام البيانات لدى مشغل شبكة الجوال."</string>
     <string name="data_usage_metered_title" msgid="6421347352444253058">"قيود الشبكات"</string>
-    <string name="data_usage_metered_body" msgid="1206840367501998582">"يتم التعامل مع الشبكات الخاضعة للقياس مثل التعامل مع شبكات الجوّال عند تقييد بيانات الخلفية. وقد يردك تحذير من التطبيقات قبل استخدام هذه الشبكات مع التنزيلات الكبيرة."</string>
+    <string name="data_usage_metered_body" msgid="1206840367501998582">"يتم التعامل مع الشبكات الخاضعة للقياس مثل التعامل مع شبكات الجوّال عند تقييد بيانات الخلفية. وقد يردك تحذير من التطبيقات قبل استخدام هذه الشبكات لتنزيل محتوى كبير الحجم."</string>
     <string name="data_usage_metered_mobile" msgid="3514227339274396401">"شبكات الجوال"</string>
     <string name="data_usage_metered_wifi" msgid="4807465959110473407">"‏شبكات Wi-Fi الخاضعة للقياس"</string>
-    <string name="data_usage_metered_wifi_disabled" msgid="4664158157415362613">"‏لاختيار شبكات خاضعة للقياس، يُرجى تشغيل Wi-Fi."</string>
+    <string name="data_usage_metered_wifi_disabled" msgid="4664158157415362613">"‏لاختيار شبكات خاضعة للقياس، يُرجى تفعيل Wi-Fi."</string>
     <string name="data_usage_metered_auto" msgid="1560514082131687116">"تلقائي"</string>
     <string name="wifi_metered_title" msgid="6623732965268033931">"استخدام الشبكة"</string>
     <string name="data_usage_metered_yes" msgid="4262598072030135223">"تفرض تكلفة استخدام"</string>
@@ -3041,9 +3056,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"شهادة مستخدم واحدة"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"‏شهادة CA واحدة"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"‏%d شهادات CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"شهادة مصدر تطبيق واحدة"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"تفاصيل بيانات الاعتماد"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"تمت إزالة بيانات الاعتماد: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"لم يتم تثبيت بيانات اعتماد المستخدم"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"إعادة التشغيل لاستخدام الشهادة"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"لاستخدام شهادة مصدر التطبيق هذه، يجب إعادة تشغيل جهازك."</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"إعادة التشغيل لإنهاء إلغاء التثبيت"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"لإزالة تثبيت شهادة مصدر التطبيق هذه، يجب إعادة تشغيل الجهاز."</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"إعادة التشغيل"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ليس الآن"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"المدقق الإملائي"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"المدقق الإملائي للعمل"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"اكتب كلمة المرور الحالية للنسخة الاحتياطية الكاملة هنا"</string>
@@ -3110,8 +3132,8 @@
     <string name="user_add_user_item_title" msgid="7113492080980313503">"المستخدم"</string>
     <string name="user_add_profile_item_title" msgid="4277967199592309233">"ملف شخصي محظور"</string>
     <string name="user_add_user_title" msgid="5935443242986169507">"هل تريد إضافة مستخدم جديد؟"</string>
-    <string name="user_add_user_message_long" msgid="5701401361311414925">"‏يمكنك مشاركة هذا الجهاز مع أشخاص آخرين من خلال إنشاء حسابات لمستخدمين إضافيين. وسيحصل كل مستخدم على مساحته الخاصة التي يمكنه تخصيصها بتطبيقاته وخلفياته التي يريدها وغيرها. كما يمكن للمستخدمين أيضًا ضبط إعدادات الجهاز مثل Wi-Fi والتي تؤثر في جميع المستخدمين.\n\nعند إضافة مستخدم جديد، عليه إعداد مساحته.\n\nيمكن لأي مستخدم تحديث التطبيقات لجميع المستخدمين الآخرين. وقد لا يتم نقل إعدادات وخدمات \"سهولة الاستخدام\" إلى المستخدم الجديد."</string>
-    <string name="user_add_user_message_short" msgid="6053863324581258810">"عند إضافة مستخدم جديد، عليه إعداد مساحته.\n\nويمكن لأي مستخدم تحديث التطبيقات لجميع المستخدمين الآخرين."</string>
+    <string name="user_add_user_message_long" msgid="5701401361311414925">"‏يمكنك مشاركة هذا الجهاز مع أشخاص آخرين من خلال إنشاء حسابات لمستخدمين إضافيين. وسيحصل كل مستخدم على مساحته الخاصة التي يمكنه تخصيصها بتطبيقاته وخلفياته التي يريدها وغيرها. كما يمكن للمستخدمين أيضًا ضبط إعدادات الجهاز مثل Wi-Fi والتي تؤثر في جميع المستخدمين.\n\nعند إضافة مستخدم جديد، عليه إعداد مساحته.\n\nيمكن لأي مستخدم إعادة تحميل التطبيقات لجميع المستخدمين الآخرين. وقد لا يتم نقل إعدادات وخدمات \"سهولة الاستخدام\" إلى المستخدم الجديد."</string>
+    <string name="user_add_user_message_short" msgid="6053863324581258810">"عند إضافة مستخدم جديد، عليه إعداد مساحته.\n\nويمكن لأي مستخدم إعادة تحميل التطبيقات لجميع المستخدمين الآخرين."</string>
     <string name="user_setup_dialog_title" msgid="7570750684073382843">"هل تريد إعداد المستخدم الآن؟"</string>
     <string name="user_setup_dialog_message" msgid="7816549760544326181">"يُرجى التأكّد من أن الشخص يمكنه استخدام الجهاز الآن وإعداد مساحته."</string>
     <string name="user_setup_profile_dialog_message" msgid="4603580068823045626">"هل ترغب في إعداد ملف شخصي الآن؟"</string>
@@ -3174,7 +3196,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>
@@ -3243,7 +3264,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>
@@ -3253,6 +3273,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>
@@ -3266,7 +3287,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>
@@ -3288,6 +3308,8 @@
     <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>
+    <!-- no translation found for nfc_and_payment_settings_payment_off_nfc_off_summary (7132040463607801625) -->
+    <skip />
     <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>
@@ -3298,13 +3320,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>
@@ -3318,7 +3341,7 @@
     <string name="keywords_storage" msgid="3004667910133021783">"مسافة، قرص، محرك أقراص ثابتة، استخدام جهاز"</string>
     <string name="keywords_battery" msgid="7040323668283600530">"استخدام الطاقة، شحن"</string>
     <string name="keywords_spell_checker" msgid="5148906820603481657">"تهجئة، قاموس، تدقيق إملائي، تصحيح تلقائي"</string>
-    <string name="keywords_voice_input" msgid="7534900094659358971">"أداة تعرف، إدخال، تحدث، قول، لغة، بدون لمس الجهاز، تعرف، بدون لمس الجهاز، كلمة، مسيئة، صوت، سجل، سماعة رأس بلوتوث"</string>
+    <string name="keywords_voice_input" msgid="7534900094659358971">"أداة تعرف، إدخال، تحدث، قول، لغة، بدون تلامس الأجهزة، تعرف، بدون تلامس الأجهزة، كلمة، مسيئة، صوت، سجل، سماعة رأس بلوتوث"</string>
     <string name="keywords_text_to_speech_output" msgid="6728080502619011668">"تقييم، لغة، تلقائي، يتحدث، تحدث، تحويل نص إلى كلام، سهولة الاستخدام، قارئ شاشة، مكفوف"</string>
     <string name="keywords_date_and_time" msgid="4402136313104901312">"ساعة، عسكرية"</string>
     <string name="keywords_network_reset" msgid="4075670452112218042">"إعادة ضبط، استرداد، المصنع"</string>
@@ -3328,7 +3351,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>
@@ -3366,6 +3389,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>
@@ -3375,18 +3399,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>
@@ -3394,6 +3419,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>
@@ -3421,6 +3449,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>
@@ -3447,7 +3476,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>
@@ -3478,7 +3507,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>
@@ -3516,10 +3545,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>
@@ -3563,16 +3594,33 @@
     <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>
+    <!-- no translation found for notification_history_summary (6821337322742231789) -->
+    <skip />
+    <!-- no translation found for notification_history (8663811361243456201) -->
+    <skip />
+    <!-- no translation found for notification_history_turn_on (3298178949776249681) -->
+    <skip />
+    <!-- no translation found for notification_history_turn_off (3141050596252009528) -->
+    <skip />
+    <!-- no translation found for notification_history_off_title_extended (2174043349602912717) -->
+    <skip />
+    <!-- no translation found for notification_history_view_settings (5269317798670449002) -->
+    <skip />
     <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>
+    <!-- no translation found for bubbles_conversation_toggle_summary (7518341992582158610) -->
+    <skip />
     <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>
@@ -3590,6 +3638,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>
@@ -3620,6 +3669,18 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"السُلوك"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"السماح بالصوت"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"عدم عرض الإشعارات"</string>
+    <!-- no translation found for conversations_category_title (5586541340846847798) -->
+    <skip />
+    <!-- no translation found for conversation_category_title (6777135786004214149) -->
+    <skip />
+    <!-- no translation found for demote_conversation_title (6355383023376508485) -->
+    <skip />
+    <!-- no translation found for demote_conversation_summary (4319929331165604112) -->
+    <skip />
+    <!-- no translation found for promote_conversation_title (4731148769888238722) -->
+    <skip />
+    <!-- no translation found for promote_conversation_summary (3890724115743515035) -->
+    <skip />
     <string name="notification_importance_min" msgid="4609688642942787774">"إظهار بدون إزعاج مع التصغير"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"عرض بدون تنبيه صوتي"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"إصدار تنبيه صوتي"</string>
@@ -3638,7 +3699,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>
@@ -3671,6 +3732,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>
@@ -3744,8 +3806,13 @@
     <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>
+    <!-- no translation found for notification_vibrate_title (1422330728336623351) -->
+    <skip />
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"صوت"</string>
+    <!-- no translation found for notification_conversation_important (3502749563429704283) -->
+    <skip />
+    <!-- no translation found for notification_conversation_add_to_home (8136269431130231389) -->
+    <skip />
     <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>
@@ -3803,6 +3870,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>
@@ -3816,15 +3887,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">
@@ -3872,13 +3948,14 @@
     </plurals>
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"التغيير إلى التنبيهات فقط حتى <xliff:g id="FORMATTEDTIME">%1$s</xliff:g>"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"تغيير إلى المقاطعة دائمًا"</string>
-    <string name="zen_mode_screen_on" msgid="7312758100468915319">"عندما تكون الشاشة قيد التشغيل"</string>
+    <string name="zen_mode_screen_on" msgid="7312758100468915319">"عندما تكون الشاشة قيد التفعيل"</string>
     <string name="zen_mode_screen_on_summary" msgid="510055058460316698">"السماح للإشعارات التي تم كتم صوتها بواسطة وضع \"الرجاء عدم الإزعاج\" بالظهور بسرعة على الشاشة وعرض رمز شريط الحالة"</string>
     <string name="zen_mode_screen_off" msgid="7069798697669366075">"عندما تكون الشاشة متوقفة"</string>
     <string name="zen_mode_screen_off_summary" msgid="4698018253505406152">"السماح للإشعارات التي يتجاهلها وضع \"الرجاء عدم الإزعاج\" بتشغيل الشاشة وإحداث وميض ضوئي"</string>
     <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>
@@ -3979,8 +4056,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>
@@ -3992,6 +4067,8 @@
     <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>
+    <!-- no translation found for app_permissions_summary_more (6247952473615352350) -->
+    <skip />
     <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>
@@ -4007,9 +4084,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>
@@ -4147,8 +4233,8 @@
     <string name="memory_maximum_usage" msgid="2047013391595835607">"الاستخدام الأقصى"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"لم يتم استخدام أي بيانات"</string>
     <string name="zen_access_warning_dialog_title" msgid="6323325813123130154">"هل تسمح بوصول \"<xliff:g id="APP">%1$s</xliff:g>\" إلى إعداد \"عدم الإزعاج\"؟"</string>
-    <string name="zen_access_warning_dialog_summary" msgid="8468714854067428987">"سيكون التطبيق قادرًا على تشغيل/إيقاف ميزة \"عدم الإزعاج\" وإجراء تغييرات على الإعدادات ذات الصلة."</string>
-    <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"يجب أن يظل قيد التشغيل نظرًا لأن الوصول إلى الإشعارات قيد التشغيل"</string>
+    <string name="zen_access_warning_dialog_summary" msgid="8468714854067428987">"سيكون التطبيق قادرًا على تفعيل/إيقاف ميزة \"عدم الإزعاج\" وإجراء تغييرات على الإعدادات ذات الصلة."</string>
+    <string name="zen_access_disabled_package_warning" msgid="6565908224294537889">"يجب أن يظل قيد التفعيل نظرًا لأن الوصول إلى الإشعارات قيد التفعيل"</string>
     <string name="zen_access_revoke_warning_dialog_title" msgid="7377261509261811449">"هل تريد إبطال إمكانية وصول تطبيق <xliff:g id="APP">%1$s</xliff:g> إلى قواعد \"عدم الإزعاج\"؟"</string>
     <string name="zen_access_revoke_warning_dialog_summary" msgid="8689801842914183595">"ستتم إزالة كل قواعد \"عدم الإزعاج\" التي أنشأها هذا التطبيق."</string>
     <string name="ignore_optimizations_on" msgid="6865583039303804932">"عدم تحسين"</string>
@@ -4165,8 +4251,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>
@@ -4233,7 +4322,7 @@
     <string name="payment_summary" msgid="5513009140568552693">"<xliff:g id="APP_NAME">%1$s</xliff:g> هو التطبيق التلقائي"</string>
     <string name="backup_disabled" msgid="4503062265560959320">"تم إيقاف الاحتفاظ بنسخة احتياطية"</string>
     <string name="android_version_summary" msgid="7818952662015042768">"‏تم التحديث إلى الإصدار <xliff:g id="VERSION">%1$s</xliff:g> من Android."</string>
-    <string name="android_version_pending_update_summary" msgid="5404532347171027730">"هناك تحديث متوفّر."</string>
+    <string name="android_version_pending_update_summary" msgid="5404532347171027730">"هناك إعادة تحميل متوفّر."</string>
     <string name="disabled_by_policy_title" msgid="8296938784202750494">"غير مسموح بهذا الإجراء"</string>
     <string name="disabled_by_policy_title_adjust_volume" msgid="1669689058213728099">"يتعذّر تغيير مستوى الصوت."</string>
     <string name="disabled_by_policy_title_outgoing_calls" msgid="2776004460663768982">"غير مسموح بإجراء مكالمات"</string>
@@ -4251,7 +4340,7 @@
     <string name="condition_expand_show" msgid="1501084007540953213">"إظهار"</string>
     <string name="condition_expand_hide" msgid="8347564076209121058">"إخفاء"</string>
     <string name="condition_hotspot_title" msgid="7903918338790641071">"نقطة الاتصال مفعّلة"</string>
-    <string name="condition_airplane_title" msgid="5847967403687381705">"وضع الطائرة قيد التشغيل"</string>
+    <string name="condition_airplane_title" msgid="5847967403687381705">"وضع الطائرة قيد التفعيل"</string>
     <string name="condition_airplane_summary" msgid="1964500689287879888">"الشبكات غير متوفرة"</string>
     <string name="condition_zen_title" msgid="7674761111934567490">"تمّ تفعيل \"الرجاء عدم الإزعاج\""</string>
     <string name="condition_zen_summary_phone_muted" msgid="6516753722927681820">"تم كتم صوت الهاتف."</string>
@@ -4340,7 +4429,7 @@
     <string name="data_usage_other_apps" msgid="5649047093607329537">"التطبيقات الأخرى المضمّنة في الاستخدام"</string>
     <plurals name="data_saver_unrestricted_summary" formatted="false" msgid="3316296488378947221">
       <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="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>
@@ -4352,6 +4441,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>
@@ -4371,7 +4462,7 @@
     <string name="data_saver_title" msgid="2593804270788863815">"توفير البيانات"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"الاستخدام غير المقيّد للبيانات"</string>
     <string name="restrict_background_blacklisted" msgid="7953049316098373715">"تم إيقاف بيانات الخلفية."</string>
-    <string name="data_saver_on" msgid="7848893946018448793">"قيد التشغيل"</string>
+    <string name="data_saver_on" msgid="7848893946018448793">"قيد التفعيل"</string>
     <string name="data_saver_off" msgid="5891210864117269045">"غير مفعّل"</string>
     <string name="data_saver_switch_title" msgid="7111538580123722959">"استخدام أداة توفير البيانات"</string>
     <string name="unrestricted_app_title" msgid="7117585996574329284">"الاستخدام غير المقيَّد للبيانات"</string>
@@ -4419,14 +4510,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>
@@ -4531,8 +4618,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>
@@ -4573,7 +4664,7 @@
     <string name="auto_sync_account_title" msgid="1458391453998755273">"مزامنة البيانات تلقائيًا"</string>
     <string name="auto_sync_personal_account_title" msgid="3544275021920818595">"مزامنة البيانات الشخصية تلقائيًا"</string>
     <string name="auto_sync_work_account_title" msgid="6060310415978781885">"مزامنة بيانات العمل تلقائيًا"</string>
-    <string name="auto_sync_account_summary" msgid="7580352130028957346">"السماح للتطبيقات بتحديث البيانات تلقائيًا"</string>
+    <string name="auto_sync_account_summary" msgid="7580352130028957346">"السماح للتطبيقات بإعادة تحميل البيانات تلقائيًا"</string>
     <string name="account_sync_title" msgid="7036067017433297574">"مزامنة الحساب"</string>
     <string name="account_sync_summary_some_on" msgid="911460286297968724">"تم تفعيل المزامنة لـ <xliff:g id="ID_1">%1$d</xliff:g> من إجمالي <xliff:g id="ID_2">%2$d</xliff:g> عنصر."</string>
     <string name="account_sync_summary_all_on" msgid="2953682111836599841">"تم تفعيل المزامنة لكل العناصر"</string>
@@ -4618,7 +4709,7 @@
     <string name="enterprise_privacy_input_method_name" msgid="2974859490559054584">"تعيين على <xliff:g id="APP_LABEL">%s</xliff:g>"</string>
     <string name="enterprise_privacy_always_on_vpn_device" msgid="1735829327405126695">"‏تم تشغيل إعداد \"شبكة افتراضية خاصة (VPN) دائمة التشغيل\""</string>
     <string name="enterprise_privacy_always_on_vpn_personal" msgid="8395903360175064841">"‏تم تشغيل إعداد \"شبكة افتراضية خاصة (VPN) دائمة التشغيل\" في الملف الشخصي"</string>
-    <string name="enterprise_privacy_always_on_vpn_work" msgid="2496961514592522377">"‏تم تشغيل \"شبكة افتراضية خاصة (VPN) دائمة التشغيل\" في الملف الشخصي للعمل"</string>
+    <string name="enterprise_privacy_always_on_vpn_work" msgid="2496961514592522377">"‏تم تفعيل \"شبكة افتراضية خاصة (VPN) دائمة التشغيل\" في الملف الشخصي للعمل"</string>
     <string name="enterprise_privacy_global_http_proxy" msgid="4350347418068037051">"‏تم تعيين الخادم الوكيل HTTP العام"</string>
     <string name="enterprise_privacy_ca_certs_device" msgid="1816495877258727663">"بيانات الاعتماد الموثوقة"</string>
     <string name="enterprise_privacy_ca_certs_personal" msgid="1516422660828485795">"بيانات اعتماد موثوقة في ملفك الشخصي"</string>
@@ -4713,7 +4804,7 @@
     <string name="storage_movies_tv" msgid="7897612625450668593">"تطبيقات الأفلام والتلفزيون"</string>
     <string name="carrier_provisioning" msgid="7217868336140325816">"معلومات توفير خدمة مشغل شبكة الجوال"</string>
     <string name="trigger_carrier_provisioning" msgid="3288805742683538597">"بدء توفير خدمة مشغل شبكة الجوال"</string>
-    <string name="zen_suggestion_title" msgid="4555260320474465668">"تحديث إعداد \"الرجاء عدم الإزعاج\""</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>
@@ -4725,20 +4816,33 @@
     <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) -->
+    <!-- no translation found for graphics_driver_dashboard_title (5661084817492587796) -->
+    <skip />
+    <!-- no translation found for graphics_driver_dashboard_summary (6348759885315793654) -->
+    <skip />
+    <!-- no translation found for graphics_driver_footer_text (5123754522284046790) -->
+    <skip />
+    <!-- no translation found for graphics_driver_all_apps_preference_title (1343065382898127360) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_title (3133255818657706857) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_default (764432460281859855) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_game_driver (3115277644656023504) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_prerelease_driver (5389656885733341448) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_system (3754748149113184126) -->
+    <skip />
+    <!-- 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_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) -->
+    <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>
@@ -4906,7 +5010,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>
@@ -4915,15 +5018,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>
@@ -4933,6 +5029,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>
@@ -5001,13 +5099,20 @@
     <string name="wifi_calling_summary" msgid="8566648389959032967">"‏استخدام شبكة Wi‑Fi لإجراء المكالمات لتحسين الجودة"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"رسالة وسائط متعددة واردة"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"يتعذّر إرسال رسالة وسائط متعددة"</string>
-    <string name="enable_mms_notification_summary" msgid="6432752438276672500">"انقر للسماح بالمراسلة باستخدام رسائل الوسائط المتعددة على <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> عند إيقاف تشغيل بيانات الجوّال."</string>
+    <string name="enable_mms_notification_summary" msgid="6432752438276672500">"انقر للسماح بالمراسلة باستخدام رسائل الوسائط المتعددة على <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> عند إيقاف تفعيل بيانات الجوّال."</string>
     <string name="enable_mms_notification_channel_title" msgid="1798206332620642108">"رسالة وسائط متعددة"</string>
     <string name="sim_combination_warning_notification_title" msgid="1365401631492986487">"‏هناك مشكلة في مجموعة بطاقة SIM"</string>
     <string name="dual_cdma_sim_warning_notification_summary" msgid="2826474790710586487">"قد يحد استخدام <xliff:g id="OPERATOR_NAMES">%1$s</xliff:g> من أداء بعض الوظائف. انقر لمعرفة المزيد من المعلومات."</string>
     <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>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index 1849ef1..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"নাই"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"নাই"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"ছিম"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"ছিম"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"নাই"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 48566b0..eb42a42 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"দৃশ্যমানতাৰ সময় উকলা"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ভইচ ডায়েলিং লক কৰক"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"স্ক্ৰীণ লক হৈ থাকোতে ব্লুটুথ ডায়েলাৰৰ ব্যৱহাৰ প্ৰতিৰোধ কৰক"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ব্লুটুথ ডিভাইচসমূহ"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ডিভাইচৰ নাম"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"ডিভাইচৰ ছেটিং"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"প্ৰ\'ফাইল ছেটিংসমূহ"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"হটস্পট  অন হৈ আছে"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"টেডাৰ কৰি থকা হৈছে"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ডেটা সঞ্চয়কাৰী অন হৈ থাকোতে টেডাৰ কৰিব বা প\'ৰ্টেবল হটস্পট  ব্যৱহাৰ কৰিব নোৱাৰি"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"স্বয়ং-ক্লিকৰ সময়"</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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"আপোনাৰ এপসমূহে বৰ্তমান সাধাৰণ পৰিমাণৰ বেটাৰি ব্যৱহাৰ কৰি আছে। যদিহে এপসমূহে অত্যধিক বেটাৰি ব্যৱহাৰ কৰে, তেন্তে আপোনাৰ ডিভাইচটোৱে আপুনি ল\'ব পৰা কাৰ্যপন্থাৰ বিষয়ে আপোনাক পৰামৰ্শ দিব।\n\nবেটাৰি কমি গ\'লে আপুনি সদায় বেটাৰি সঞ্চয়কাৰী অন কৰিব পাৰে।"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"বেটাৰি মেনেজাৰ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"এপসমূহক স্বয়ংক্ৰিয়ভাৱে পৰিচালনা কৰক"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"আপুনি সঘনাই ব্য়ৱহাৰ নকৰা এপসমূহৰ বাবে বেটাৰিৰ ব্য়ৱহাৰ সীমিত কৰক"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"বেটাৰি মেনেজাৰে যেতিয়া এপসমূহে বেছিকৈ বেটাৰিৰ চ্চাৰ্জ হ্ৰাস কৰাটো চিনাক্ত কৰে তেতিয়া আপোনাৰ লগত এই এপসমূহক সীমিত কৰাৰ সুবিধা থাকিব। সীমিত কৰা এপসমূহে ভালকৈ কাম নকৰিব পাৰে আৰু জাননীসমূহ পলমকৈ আহিব পাৰে।"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"বেটাৰি মেনেজাৰে যেতিয়া এপসমূহে বেছিকৈ বেটাৰিৰ চ্চাৰ্জ হ্ৰাস কৰাটো চিনাক্ত কৰে তেতিয়া আপোনাৰ লগত এই এপসমূহক সীমিত কৰাৰ সুবিধা থাকিব। সীমিত কৰা এপসমূহে ভালকৈ কাম নকৰিব পাৰে আৰু জাননীসমূহ পলমকৈ আহিব পাৰে।"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"বেটাৰি মেনেজাৰে যেতিয়া এপসমূহে বেছিকৈ বেটাৰিৰ চ্চাৰ্জ হ্ৰাস কৰাটো চিনাক্ত কৰে তেতিয়া আপোনাৰ লগত এই এপসমূহক সীমিত কৰাৰ সুবিধা থাকিব। সীমিত কৰা এপসমূহে ভালকৈ কাম নকৰিব পাৰে আৰু জাননীসমূহ পলমকৈ আহিব পাৰে।"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"আপুনি সঘনাই ব্য়ৱহাৰ নকৰা এপসমূহৰ বাবে বেটাৰিৰ ব্য়ৱহাৰ সীমিত কৰক"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"বেটাৰি মেনেজাৰে যেতিয়া এপসমূহে বেছিকৈ বেটাৰিৰ চ্চাৰ্জ হ্ৰাস কৰাটো চিনাক্ত কৰে তেতিয়া আপোনাৰ লগত এই এপসমূহক সীমিত কৰাৰ সুবিধা থাকিব। সীমিত কৰা এপসমূহে ভালকৈ কাম নকৰিব পাৰে আৰু জাননীসমূহ পলমকৈ আহিব পাৰে।"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"সীমাবদ্ধ কৰা এপসমূহ"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">%1$dটা এপৰ বেটাৰি ব্য়ৱহাৰ সীমিতকৰণ</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"এই এপসমূহে বহু সময়ধৰি নেপথ্য়ত বেটাৰি ব্য়ৱহাৰ কৰি আছে। সীমিত কৰা এপসমূহে ভালকৈ কাম নকৰিবও পাৰে আৰু জাননীসমূহ পলমকৈ আহিব পাৰে।"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"বেটাৰি মেনেজাৰ ব্য়ৱহাৰ কৰক"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"এপসমূহে বেটাৰিৰ চ্চাৰ্জ বেছিকৈ হ্ৰাস কৰাটো চিনাক্ত কৰক"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"অন আছে / এপসমূহে বেটাৰিৰ চ্চাৰ্জ বেছিকৈ হ্ৰাস কৰাটো চিনাক্ত কৰি থকা হৈছে"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"অন আছে / এপসমূহে বেটাৰিৰ চ্চাৰ্জ বেছিকৈ হ্ৰাস কৰাটো চিনাক্ত কৰি থকা হৈছে"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"অফ অৱস্থাত আছে"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d এপক নিষিদ্ধ কৰা হ’ল</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"এই ব্যৱহাৰকাৰীৰ বাবে ক্ৰেডেনশ্বিয়েলসমূহ উপলব্ধ নহয়"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"ভিপিএন আৰু এপ্‌সমূহৰ বাবে ইনষ্টল কৰা হৈছে"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"ৱাই-ফাইৰ বাবে ইনষ্টল কৰা হৈছে"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"এপ্‌ ইনষ্টল কৰা উৎসৰ সত্যাপনৰ বাবে ইনষ্টল কৰা হৈছে"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"সকলো সমল আঁতৰাবনে?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"এপৰ উৎস সম্পৰ্কীয় প্ৰমাণপত্ৰ"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"এই প্ৰমাণপত্ৰখন নিজৰ দায়বদ্ধতাত ইনষ্টল কৰক"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"এপৰ উৎস সম্পৰ্কীয় প্ৰমাণপত্ৰখনে সত্যাপন কৰে যে এপ্‌সমূহ আপোনাৰ ডিভাইচৰ বাবে সুৰক্ষিত। কেৱল আপুনি বিশ্বাস কৰা প্ৰতিষ্ঠানসমূহৰ পৰাহে প্ৰমাণপত্ৰসমূহ ইনষ্টল কৰক।"</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"এজন ব্যৱহাৰকাৰীৰ প্ৰমাণপত্ৰ"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"এখন চিএ প্ৰমাণপত্ৰ"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d চিএ প্ৰমাণপত্ৰ"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"এপৰ উৎস সম্পৰ্কীয় এখন প্ৰমাণপত্ৰ"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ক্ৰেডেনশ্বিয়েলৰ সবিশেষ"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ক্ৰেডেনশ্বিয়েল আঁতৰোৱা হ’ল: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"কোনো ব্যৱহাৰকাৰীৰ প্ৰমাণপত্ৰ ইনষ্টল হোৱা নাই"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"প্ৰমাণপত্ৰখন ব্যৱহাৰ কৰিবলৈ ৰিষ্টাৰ্ট কৰক"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"এপৰ উৎস সম্পৰ্কীয় এই প্ৰমাণপত্ৰখন ব্যৱহাৰ কৰিবলৈ আপুনি নিজৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰাৰ প্ৰয়োজন"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"আনইনষ্টল কৰাটো সম্পূৰ্ণ কৰিবলৈ ৰিষ্টাৰ্ট কৰক"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"এপৰ উৎস সম্পৰ্কীয় এই প্ৰমাণপত্ৰখন আনইনষ্টল কৰিবলৈ আপুনি নিজৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰাৰ প্ৰয়োজন"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ৰিষ্টাৰ্ট কৰক"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"এতিয়া নহয়"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"বানান পৰীক্ষক"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"কৰ্মস্থানৰ বাবে বানান পৰীক্ষক"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"আপোনাৰ বৰ্তমান সম্পূৰ্ণ বেকআপ পাছৱৰ্ডটো ইয়াত টাইপ কৰক"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,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>
@@ -3130,13 +3167,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>
@@ -3160,7 +3198,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>
@@ -3198,6 +3236,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>
@@ -3207,18 +3246,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>
@@ -3226,6 +3266,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>
@@ -3249,6 +3292,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>
@@ -3275,7 +3319,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>
@@ -3306,7 +3350,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>
@@ -3336,10 +3380,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>
@@ -3383,16 +3429,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>
@@ -3410,6 +3466,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>
@@ -3440,6 +3497,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"নিৰৱে দেখুৱাওক আৰু মিনিমাইজ কৰক"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"নিৰৱে দেখুৱাওক"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ধ্বনি বজাওক"</string>
@@ -3458,7 +3521,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>
@@ -3479,6 +3542,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>
@@ -3540,8 +3604,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>
@@ -3595,6 +3661,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>
@@ -3608,15 +3678,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">
@@ -3659,6 +3734,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>
@@ -3743,8 +3819,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 +3830,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 +3842,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>
@@ -3913,8 +3993,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>
@@ -4080,6 +4163,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>
@@ -4143,14 +4228,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 +4320,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>
@@ -4405,20 +4490,24 @@
     <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="5389656885733341448">"আগতীয়াকৈ ৰিলীজ হোৱা ড্ৰাইভাৰ"</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_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) -->
+    <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>
@@ -4582,7 +4671,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 +4679,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>
@@ -4605,6 +4690,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>
@@ -4668,6 +4755,13 @@
     <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>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index 082d6c0..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Heç biri"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Heç biri"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SİM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Heç biri"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 bbb5d9d..1459d76 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Görünmə taym-autu"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Səsli nömrə yığımını kilidlə"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Ekran kilidli olduqda bluetooth nömrə yığımı istifadəsinin qarşısını alın"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth cihazları"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Cihaz adı"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Cihaz ayarları"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profil ayarları"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"avtomatik klikləmə 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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Tətbiqlər batareyadan normal istifadə edirlər. Tətbiqlər həddinən artıq çox batareya istifadə edərsə, cihaz Sizin üçün tədbirlər təklif edəcək.\n\nCihazdan az batareya ilə istifadə edirsinizsə, Batareya Qənaətini aktiv edin."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batareya Meneceri"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Tətbiqləri avtomatik idarə edin"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Daima istifadə etmədiyiniz tətbiqlərin batareyadan istifadəsini məhdudlaşdırın"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Batareya Meneceri batareyadan çox istifadə edən tətbiqləri aşkarladıqda həmin tətbiqləri məhdudlaşdıra biləcəksiniz. Məhdudlaşdırılmış tətbiqlər düzgün işləməyə və bildirişlər gecikə bilər."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Batareya Meneceri batareyadan çox istifadə edən tətbiqləri aşkarladıqda həmin tətbiqləri məhdudlaşdıra biləcəksiniz. Məhdudlaşdırılmış tətbiqlər düzgün işləməyə və bildirişlər gecikə bilər."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Batareya Meneceri batareyadan çox istifadə edən tətbiqləri aşkarladıqda həmin tətbiqləri məhdudlaşdıra biləcəksiniz. Məhdudlaşdırılmış tətbiqlər düzgün işləməyə və bildirişlər gecikə bilər."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Daima istifadə etmədiyiniz tətbiqlərin batareyadan istifadəsini məhdudlaşdırın"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Batareya Meneceri batareyadan çox istifadə edən tətbiqləri aşkarladıqda həmin tətbiqləri məhdudlaşdıra biləcəksiniz. Məhdudlaşdırılmış tətbiqlər düzgün işləməyə və bildirişlər gecikə bilər."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Məhdudlaşdırılmış tətbiqlər"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d tətbiq üçün batareya istifadəsinin məhdudlaşdırılması</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Bu tətbiqlər arxa fonda batareyadan istifadə edə bilər. Məhdudlaşdırılmış tətbiqlər düzgün işləməyə və bildirişlər gecikə bilər."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Batareya Menecerindən istifadə edin"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Batareyadan çox istifadə edən tətbiqlər aşkarlansın"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Aktiv / Batareyadan çox istifadə edən tətbiqlər aşkarlansın"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Aktiv / Batareyadan çox istifadə edən tətbiqlər aşkarlansın"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Deaktiv"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d tətbiq məhdudlaşdırılıb</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Kredensiallar bu istifadəçi üçün əlçatan deyil"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN və tətbiq üçün quraşdırılıb"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi üçün quraşdırılıb"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Tətbiqin quraşdırılma mənbəyinin doğrulanması üçün quraşdırılıb"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Bütün məzmun silinsin?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Tətbiq Mənbə 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Bu sertifikatı məsuliyyəti öz üzərinizə götürərək quraşdırın"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Tətbiqin mənbə sertifikatları tətbiqlərin cihazınız üçün güvənli olduğunu təsdiq edir. Yalnız güvəndiyiniz təşkilatlardan CA sertifikatları 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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"istifadəçi sertifikatı"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"bir CA sertifikatı"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA sertifikatlar"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"bir Tətbiq Mənbə sertifikatı"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Kredensial detalları"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Etimadnamə silindi: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Heç bir istifadəçi kredensialı quraşdırılmadı"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Sertifikatı istifadə etmək üçün yenidən başladın"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Bu tətbiqin mənbə sertifikatını istifadə etmək üçün cihazı yenidən başlatmalısınız"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Ləğvi tamamlamaq üçün yenidən başladın"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Bu tətbiqin mənbə sertifikatını ləğv etmək üçün cihazı yenidən başlatmalısınız"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Yenidən başladın"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"İndi yox"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Orfoqrafik yoxlama"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"İş üçün orfoqrafiya yoxlayan"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Mövcud tam yedəkləmə parolunuzu bura daxil edin"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Ön Buraxılış Diski"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index 9991597..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ništa"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ništa"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ništa"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 98127d8..23c00e2 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>
@@ -100,7 +67,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Vreme čekanja za vidljivost"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Zaključaj govorno biranje"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Spreči korišćenje bluetooth programa za biranje brojeva kada je ekran zaključan"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth uređaji"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Naziv uređaja"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Podešavanja uređaja"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Podešavanja profila"</string>
@@ -175,9 +141,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 +176,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 +217,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 +235,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 +242,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 +285,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 +315,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 +623,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 +659,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>
@@ -856,16 +782,19 @@
     <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 +868,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 +879,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 +887,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>
@@ -982,12 +913,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 +933,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 +953,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 +1008,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 +1061,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 +1070,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 +1107,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 +1243,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 +1266,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 +1356,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 +1383,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 +1596,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 +1646,9 @@
     <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="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 +1740,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 +1748,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>
@@ -1919,7 +1882,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 +2082,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 +2090,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 +2159,41 @@
     <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="2370077188725433271">"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_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 +2206,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>
@@ -2429,10 +2445,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikacije koriste uobičajenu količinu baterije. Ako aplikacije koriste previše baterije, uređaj će vam predložiti radnje koje možete da preduzmete.\n\nUvek možete da uključite Uštedu baterije ako vam je baterija pri kraju."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Menadžer baterije"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Upravljajte aplikacijama automatski"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Ograničite potrošnju baterije za aplikacije koje ne koristite često"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Kada menadžer baterije otkrije da aplikacije prazne bateriju, imate opciju da ograničite te aplikacije. Ograničene aplikacije možda neće raditi kako treba i obaveštenja mogu da kasne."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Kada menadžer baterije otkrije da aplikacije prazne bateriju, imate opciju da ograničite te aplikacije. Ograničene aplikacije možda neće raditi kako treba i obaveštenja mogu da kasne."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Kada menadžer baterije otkrije da aplikacije prazne bateriju, imate opciju da ograničite te aplikacije. Ograničene aplikacije možda neće raditi kako treba i obaveštenja mogu da kasne."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Ograničite potrošnju baterije za aplikacije koje ne koristite često"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Kada menadžer baterije otkrije da aplikacije prazne bateriju, imate opciju da ograničite te aplikacije. Ograničene aplikacije možda neće raditi kako treba i obaveštenja mogu da kasne."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Ograničene aplikacije"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Ograničite potrošnju baterije za %1$d aplikaciju</item>
@@ -2443,7 +2457,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Ove aplikacije su trošile bateriju u pozadini. Ograničene aplikacije možda neće raditi kako treba i obaveštenja mogu da kasne."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Koristite menadžer baterije"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Otkrijte kada aplikacije isprazne bateriju"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Uključeno / Otkrivanje kada aplikacije isprazne bateriju"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Uključeno / Otkrivanje kada aplikacije isprazne bateriju"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Isključeno"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d aplikacija je ograničena</item>
@@ -2552,7 +2566,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>
@@ -2633,8 +2646,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>
@@ -2650,10 +2662,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Akreditivi nisu dostupni za ovog korisnika"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalirano za VPN i aplikacije"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalirano za Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instalirano za potvrdu izvora instalacije aplikacije"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Želite li da uklonite sav sadržaj?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Sertifikat za izvor aplikacije"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instalirajte ovaj sertifikat na sopstveni rizik"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Sertifikati za izvore aplikacija potvrđuju da su aplikacije bezbedne za uređaj. Instalirajte sertifikate samo iz organizacija u koje imate poverenja."</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>
@@ -2681,10 +2705,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>
@@ -2698,6 +2718,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>
@@ -2930,9 +2959,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"jedan sertifikat korisnika"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"jedan CA sertifikat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA sertifikata"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"jedan sertifikat za izvor aplikacije"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detalji akreditiva"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Uklonjen je akreditiv: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nema instaliranih korisničkih akreditiva"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Restartujte da biste koristili sertifikat"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Da biste koristili sertifikat za izvor aplikacije, morate da restartujete uređaj"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Restartujte da biste dovršili deinstaliranje"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Da biste deinstalirali ovaj sertifikat za izvor aplikacije, morate da restartujete uređaj"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Restartuj"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ne sada"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Provera pravopisa"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Provera pravopisa za posao"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Ovde unesite trenutnu lozinku za pravljenje rezervne kopije čitavog sistema"</string>
@@ -3051,7 +3087,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>
@@ -3120,7 +3155,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>
@@ -3130,6 +3164,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>
@@ -3143,7 +3178,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>
@@ -3162,6 +3196,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>
@@ -3172,13 +3207,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>
@@ -3202,7 +3238,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>
@@ -3240,6 +3276,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>
@@ -3249,18 +3286,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>
@@ -3268,6 +3306,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>
@@ -3292,6 +3333,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>
@@ -3318,7 +3360,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>
@@ -3349,7 +3391,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>
@@ -3381,10 +3423,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>
@@ -3428,16 +3472,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>
@@ -3455,6 +3509,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>
@@ -3485,6 +3540,12 @@
     <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="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>
@@ -3503,7 +3564,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>
@@ -3527,6 +3588,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>
@@ -3591,8 +3653,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>
@@ -3647,6 +3711,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>
@@ -3660,15 +3728,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">
@@ -3714,6 +3787,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>
@@ -3802,8 +3876,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>
@@ -3815,6 +3887,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>
@@ -3827,9 +3900,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>
@@ -3976,8 +4055,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>
@@ -4148,6 +4230,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>
@@ -4212,14 +4296,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>
@@ -4312,8 +4392,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>
@@ -4485,20 +4569,24 @@
     <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="5389656885733341448">"Upravljački program za neobjavljenu verziju"</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_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) -->
+    <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>
@@ -4663,7 +4751,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>
@@ -4672,12 +4759,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>
@@ -4687,6 +4770,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>
@@ -4753,6 +4838,13 @@
     <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>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index e523fe8..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Няма"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Няма"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Няма"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 6712f19..3b3861f 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>
@@ -101,7 +68,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Тайм-аўт бачнасці"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Блакаваць галасавы набор"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Забараніць выкарыстанне набіральніка Bluetooth, калі экран заблакаваны"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Прылады Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Імя прылады"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Налады прылады"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Налады профілю"</string>
@@ -176,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>
@@ -211,46 +177,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 +219,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 +237,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 +244,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 +287,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 +318,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 +631,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 +673,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>
@@ -872,16 +799,19 @@
     <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 +885,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 +896,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 +904,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>
@@ -998,12 +930,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 +950,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 +970,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 +1028,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 +1081,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 +1090,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 +1127,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 +1263,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 +1286,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 +1377,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 +1404,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 +1617,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 +1667,9 @@
     <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="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 +1762,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 +1770,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>
@@ -1941,7 +1905,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 +2105,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 +2113,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 +2182,41 @@
     <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="2370077188725433271">"час аўтаматычнага націскання"</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_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 +2230,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>
@@ -2464,10 +2482,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Вашы праграмы спажываюць нармальную колькасць зараду акумулятара. Калі выкарыстанне зараду павысіцца, вы атрымаеце адпаведныя рэкамендацыі.\n\nВы заўсёды можаце ўключыць рэжым эканоміі зараду."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Менеджар акумулятара"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Аўтаматычнае кіраванне праграмамі"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Абмежаваць выкарыстанне акумулятара праграмамі, якія рэдка запускаюцца"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Калі менеджар акумулятара выяўляе выкарыстанне зараду праграмамі, ёсць магчымасць абмежаваць іх работу. Работа праграм з абмежаваннямі можа быць неналежнай, і апавяшчэнні могуць прыходзіць з затрымкай."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Калі менеджар акумулятара выяўляе выкарыстанне зараду праграмамі, ёсць магчымасць абмежаваць іх работу. Работа праграм з абмежаваннямі можа быць неналежнай, і апавяшчэнні могуць прыходзіць з затрымкай."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Калі менеджар акумулятара выяўляе выкарыстанне зараду праграмамі, ёсць магчымасць абмежаваць іх работу. Работа праграм з абмежаваннямі можа быць неналежнай, і апавяшчэнні могуць прыходзіць з затрымкай."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Абмежаваць выкарыстанне акумулятара праграмамі, якія рэдка запускаюцца"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Калі менеджар акумулятара выяўляе выкарыстанне зараду праграмамі, ёсць магчымасць абмежаваць іх работу. Работа праграм з абмежаваннямі можа быць неналежнай, і апавяшчэнні могуць прыходзіць з затрымкай."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Праграмы, якія не працуюць у фонавым рэжыме"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Абмежаванае выкарыстанне зараду для %1$d праграмы</item>
@@ -2479,7 +2495,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Гэтыя праграмы выкарыстоўваюць энергію ў фонавым рэжыме. Праграмы з абмежаваннямі могуць працаваць павольна, і апавяшчэнні могуць прыходзіць з затрымкай."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Уключыць менеджар акумулятара"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Выяўляць праграмы, якія разраджаюць акумулятар"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Уключэнне / выяўленне праграм, якія разраджаюць акумулятар"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Уключэнне / выяўленне праграм, якія разраджаюць акумулятар"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Выключана"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">Абмежаваных праграм: %1$d</item>
@@ -2589,7 +2605,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>
@@ -2670,8 +2685,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>
@@ -2687,10 +2701,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Сертыфікаты недаступныя для гэтага карыстальніка"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Усталявана для VPN і праграм"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Усталявана для Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Усталявана для спраўджання крыніцы ўсталёўкі праграмы"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Выдаліце ​​ўсё змесціва?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Сертыфікат крыніцы праграмы"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Усталяваць гэты сертыфікат на сваю рызыку"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Сертыфікаты крыніц спраўджваюць бяспечнаць праграм для вашай прылады. Усталёўвайце сертыфікаты толькі ад арганізацый, якім давяраеце."</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>
@@ -2718,10 +2744,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>
@@ -2735,6 +2757,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>
@@ -2967,9 +2999,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"адзін сертыфікат карыстальніка"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"адзін сертыфікат ЦС"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"Сертыфікаты ЦС: %d"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"адзін сертыфікат крыніцы праграмы"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Падрабязнасці ўліковых даных"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Уліковыя даныя выдалены: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Уліковыя даныя карыстальніка не ўсталяваны"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Перазапусціце, каб выкарыстоўваць сертыфікат"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Каб выкарыстоўваць гэты сертыфікат крыніцы праграмы, перазапусціце прыладу"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Перазапусціце, каб завяршыць выдаленне"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Каб выдаліць гэты сертыфікат крыніцы праграмы, перазапусціце прыладу"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Перазапусціць"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Не зараз"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Праверка правапiсу"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Праверка правапісу для працы"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Увядзіце тут свой бягучы пароль поўнага рэзервовага капіявання"</string>
@@ -3092,7 +3131,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>
@@ -3161,7 +3199,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 +3208,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 +3222,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>
@@ -3204,6 +3241,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 +3252,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>
@@ -3244,7 +3283,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>
@@ -3282,6 +3321,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 +3331,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 +3351,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 +3379,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>
@@ -3361,7 +3406,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 +3437,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 +3471,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>
@@ -3473,16 +3520,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 +3557,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 +3588,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Паказваць бязгучна і згортваць"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Паказваць бязгучна"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Прайграваць гук"</string>
@@ -3548,7 +3612,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>
@@ -3575,6 +3639,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>
@@ -3642,8 +3707,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 +3766,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>
@@ -3712,15 +3783,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 +3845,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>
@@ -3861,8 +3938,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 +3949,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 +3963,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>
@@ -4039,8 +4122,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 +4302,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>
@@ -4281,14 +4369,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 +4469,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>
@@ -4565,20 +4653,24 @@
     <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="5389656885733341448">"Драйвер папярэдняга выпуску"</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_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) -->
+    <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>
@@ -4744,7 +4836,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>
@@ -4753,13 +4844,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>
@@ -4769,6 +4855,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>
@@ -4838,6 +4926,13 @@
     <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>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index 2dd3c09..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"ПАРОЛА"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Нищо"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Няма"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM карта"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Няма"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 a33058d..bdb7cb3 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Време за изчакване за видимост"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Заключване на гласовото набиране"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Предотвратява употребата на набирането за Bluetooth при заключен екран"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth устройства"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Име на устройството"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Настройки на устройството"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Настройки на потребителския профил"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"време на автоматично кликване"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Приложенията ви използват обичайното количество енергия от батерията. Ако те изразходват твърде много от нея, устройството ви ще предложи действия, които можете да предприемете.\n\nВинаги можете да включите режима за запазване на батерията, ако тя е напът да се изтощи."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Мениджър на батерията"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Автоматично управление на приложенията"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Ограничение за батерията за приложения, които не използвате често"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Когато мениджърът на батерията установи, че приложенията я изразходват, ще имате опцията да ги ограничите. Ограничените приложения може да не работят правилно и е възможно да има забавяне на известията."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Когато мениджърът на батерията установи, че приложенията я изразходват, ще имате опцията да ги ограничите. Ограничените приложения може да не работят правилно и е възможно да има забавяне на известията."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Когато мениджърът на батерията установи, че приложенията я изразходват, ще имате опцията да ги ограничите. Ограничените приложения може да не работят правилно и е възможно да има забавяне на известията."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Ограничение за батерията за приложения, които не използвате често"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Когато мениджърът на батерията установи, че приложенията я изразходват, ще имате опцията да ги ограничите. Ограничените приложения може да не работят правилно и е възможно да има забавяне на известията."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Ограничени приложения"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Използването на батерията е ограничено за %1$d приложения</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Тези приложения използват батерията на заден план. Ограничените приложения може да не работят правилно и е възможно да има забавяне на известията."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Използване на мениджъра на батерията"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Установяване кога приложенията изразходват батерията"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Включено/установява се кога приложенията изразходват батерията"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Включено/установява се кога приложенията изразходват батерията"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Изключено"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d приложения са ограничени</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Идентификационните данни не са налице за този потребител"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Инсталирани за виртуалната частна мрежа (VPN) и приложения"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Инсталирани за Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Инсталирано с цел потвърждаване на източника на инсталиране на приложението"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Да се премахне ли цялото съдържание?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Източник на прил.: Сертификат"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Инсталирането на този сертификат е на ваш риск"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Сертификатите за източника на приложението потвърждават, че приложенията са безопасни за устройството ви. Инсталирайте само сертификати от организации, на които имате доверие."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"един потребителски сертификат"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"един сертификат от сертифициращ орган"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d сертификата от сертифициращи органи"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"един сертификат за източника на приложението"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Подробности за идентификационните данни"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Премахнати идентификационни данни: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Няма инсталирани потребителски идентификационни данни"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Рестартирайте, за да използвате сертификата"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"За да използвате този сертификат за източника на приложението, трябва да рестартирате устройството си"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Рестарт., за да завършите деинсталирането"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"За да деинсталирате този сертификат за източника на приложението, трябва да рестартирате устройството си"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Рестартиране"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Не сега"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Правописна проверка"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Проверка на правописа за служебни цели"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Въведете текущата си парола за пълно резервно копие тук"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Показване без звук и намаляване"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Показване без звук"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Възпроизвеждане на звук"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Предварителен драйвер"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index a967aae..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"কোনো কিছুই নয়"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"কোনো কিছুই নয়"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"সিম"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"সিম"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"কোনো কিছুই নয়"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 92187de..a840a34 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"দৃশ্যমানতা সময়সীমা"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ভয়েস ডায়ালিং লক করুন"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"স্ক্রিন লক থাকাকালীন ব্লুটুথ ডায়ালার ব্যবহার আটকান"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ব্লুটুথ ডিভাইসগুলি"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ডিভাইসের নাম"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"ডিভাইস সেটিংস"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"প্রোফাইল সেটিংস"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"হটস্পট চালু আছে"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"টিথারিং চালু আছে"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ডেটা সেভার চালু থাকা অবস্থায় টেদার করা যাবে না বা পোর্টেবল হটস্পট ব্যবহার করা যাবে না"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"অটো ক্লিকের সময়"</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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"আপনার অ্যাপগুলি স্বাভাবিক পরিমাণে ব্যাটারি ব্যবহার করছে। কোনও অ্যাপ খুব বেশি ব্যাটারি ব্যবহার করলে আপনি কী কী করতে পারেন তা আপনার ডিভাইস আপনাকে জানিয়ে দেবে।\n\nচার্জ কম থাকলে আপনি যেকোনও সময় ব্যাটারি সেভার চালু করতে পারেন।"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ব্যাটারি ম্যানেজার"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"নিজে থেকে অ্যাপ পরিচালনা করুন"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"আপনি যে অ্যাপগুলি কম ব্যবহার করেন সেগুলি কতখানি ব্যাটারি ব্যবহার করবে তার সীমা নির্দিষ্ট করুন"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"ব্যাটারি ম্যানেজার যখন বুঝতে পারবে যে অ্যাপের জন্য দ্রুত চার্জ কমে যাচ্ছে, তখন এই অ্যাপগুলি কতখানি ব্যাটারি ব্যবহার করবে তার সীমা নির্দিষ্ট করার সুযোগ আপনাকে দেওয়া হবে। সীমা নির্দিষ্ট করে দিলে অ্যাপগুলি ঠিকভাবে কাজ নাও করতে পারে এবং বিজ্ঞপ্তি আসতে দেরি হতে পারে।"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"ব্যাটারি ম্যানেজার যখন বুঝতে পারবে যে অ্যাপের জন্য দ্রুত চার্জ কমে যাচ্ছে, তখন এই অ্যাপগুলি কতখানি ব্যাটারি ব্যবহার করবে তার সীমা নির্দিষ্ট করার সুযোগ আপনাকে দেওয়া হবে। সীমা নির্দিষ্ট করে দিলে অ্যাপগুলি ঠিকভাবে কাজ নাও করতে পারে এবং বিজ্ঞপ্তি আসতে দেরি হতে পারে।"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"ব্যাটারি ম্যানেজার যখন বুঝতে পারবে যে অ্যাপের জন্য দ্রুত চার্জ কমে যাচ্ছে, তখন এই অ্যাপগুলি কতখানি ব্যাটারি ব্যবহার করবে তার সীমা নির্দিষ্ট করার সুযোগ আপনাকে দেওয়া হবে। সীমা নির্দিষ্ট করে দিলে অ্যাপগুলি ঠিকভাবে কাজ নাও করতে পারে এবং বিজ্ঞপ্তি আসতে দেরি হতে পারে।"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"আপনি যে অ্যাপগুলি কম ব্যবহার করেন সেগুলি কতখানি ব্যাটারি ব্যবহার করবে তার সীমা নির্দিষ্ট করুন"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"ব্যাটারি ম্যানেজার যখন বুঝতে পারবে যে অ্যাপের জন্য দ্রুত চার্জ কমে যাচ্ছে, তখন এই অ্যাপগুলি কতখানি ব্যাটারি ব্যবহার করবে তার সীমা নির্দিষ্ট করার সুযোগ আপনাকে দেওয়া হবে। সীমা নির্দিষ্ট করে দিলে অ্যাপগুলি ঠিকভাবে কাজ নাও করতে পারে এবং বিজ্ঞপ্তি আসতে দেরি হতে পারে।"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"বিধিনিষেধযুক্ত অ্যাপ"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">%1$dটি অ্যাপ কতখানি ব্যাটারি ব্যবহার করবে তাতে সীমা নির্দিষ্ট করা হচ্ছে</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"এই অ্যাপগুলি ব্যাকগ্রাউন্ডে ব্যাটারি ব্যবহার করে চলেছে। ব্যাটারির ব্যবহার সীমাবদ্ধ করা হয়েছে, এমন অ্যাপগুলি সঠিকভাবে নাও চলতে পারে এবং সেগুলির বিজ্ঞপ্তি আসতে দেরি হতে পারে।"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"ব্যাটারি ম্যানেজার ব্যবহার করুন"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"অ্যাপের জন্য বেশি ব্যাটারি খরচ হচ্ছে কিনা সেই দিকে নজর রাখুন"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"চালু / অ্যাপের জন্য বেশি ব্যাটারি খরচ হচ্ছে কিনা সেই দিকে নজর রাখা হচ্ছে"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"চালু / অ্যাপের জন্য বেশি ব্যাটারি খরচ হচ্ছে কিনা সেই দিকে নজর রাখা হচ্ছে"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"বন্ধ আছে"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$dটি অ্যাপে বিধিনিষেধ আরোপ করা হয়েছে</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"এই ব্যবহারকারীর জন্য প্রমাণপ্রত্রাদি উপলব্ধ নয়"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN এবং অ্যাপ্সের জন্য ইনস্টল করা হয়েছে"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"ওয়াই-ফাই এর জন্য ইনস্টল করা হয়েছে"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"অ্যাপ ইনস্টল সংক্রান্ত সোর্স যাচাইকরণের জন্য ইনস্টল করা হয়েছে"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"সমস্ত কন্টেন্ট সরাবেন?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"অ্যাপ সোর্স সার্টিফিকেট"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"নিজের দায়িত্বে এই সার্টিফিকেট ইনস্টল করুন"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"আপনার ডিভাইসের জন্য অ্যাপ নিরাপদ কিনা তা অ্যাপ সোর্স সার্টিফিকেট যাচাই করে। শুধুমাত্র বিশ্বস্ত প্রতিষ্ঠান থেকেই সার্টিফিকেট ইনস্টল করুন।"</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"একটি ব্যবহারকারী সার্টিফিকেট"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"একটি CA সার্টিফিকেট"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%dটি CA সার্টিফিকেট"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"একটি অ্যাপ সোর্স সার্টিফিকেট"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"শংসাপত্রের বিশদ বিবরণ"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"সরানো সার্টিফিকেট: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"কোনও ব্যবহারকারীর সার্টিফিকেট ইনস্টল করা নেই"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"সার্টিফিকেট ব্যবহার করতে রিস্টার্ট করুন"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"এই অ্যাপ সোর্স সার্টিফিকেট ব্যবহার করতে আপনার ডিভাইস রিস্টার্ট করতে হবে"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"আনইনস্টল প্রক্রিয়া শেষ করতে রিস্টার্ট করুন"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"এই অ্যাপ সোর্স সার্টিফিকেট আনইনস্টল করতে আপনার ডিভাইস রিস্টার্ট করতে হবে"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"রিস্টার্ট করুন"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"এখন না"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"বানান পরিক্ষক"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"অফিসের স্পেল চেকার"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"এখানে আপনার বর্তমান সম্পূর্ণ ব্যাকআপ পাসওয়ার্ড টাইপ করুন"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,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>
@@ -3130,13 +3167,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>
@@ -3160,7 +3198,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>
@@ -3198,6 +3236,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>
@@ -3207,18 +3246,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>
@@ -3226,6 +3266,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>
@@ -3249,6 +3292,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>
@@ -3275,7 +3319,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>
@@ -3306,7 +3350,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>
@@ -3336,10 +3380,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>
@@ -3383,16 +3429,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>
@@ -3410,6 +3466,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>
@@ -3440,6 +3497,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"নিঃশব্দে দেখুন এবং ছোট করুন"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"নিঃশব্দে দেখান"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"শব্দ করে"</string>
@@ -3458,7 +3521,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>
@@ -3479,6 +3542,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>
@@ -3540,8 +3604,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>
@@ -3595,6 +3661,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>
@@ -3608,15 +3678,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">
@@ -3659,6 +3734,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>
@@ -3743,8 +3819,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 +3830,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 +3842,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>
@@ -3913,8 +3993,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 +4163,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>
@@ -4143,14 +4228,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>
@@ -4239,8 +4320,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>
@@ -4405,20 +4490,24 @@
     <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="5389656885733341448">"আগে থেকে প্রকাশিত ড্রাইভার"</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_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) -->
+    <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>
@@ -4582,7 +4671,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 +4679,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>
@@ -4605,6 +4690,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>
@@ -4668,6 +4755,13 @@
     <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>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index c87beda..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ništa"</item>
-    <item msgid="7999067440135784391">"MSCHAPv2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPv2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ništa"</item>
-    <item msgid="6196154457987907739">"MSCHAPv2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPv2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ništa"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPv2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 b754997..b4d112e 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>
@@ -100,7 +67,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Istek vremena za vidljivost"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Zaključaj glasovno biranje"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Spriječi korištenje bluetooth birača kada je ekran zaključan"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth uređaji"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Naziv uređaja"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Postavke uređaja"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Postavke profila"</string>
@@ -175,9 +141,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 +176,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 +217,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 +235,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 +242,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 +285,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 +315,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 +623,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 +659,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>
@@ -856,16 +782,19 @@
     <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 +868,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 +879,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 +887,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>
@@ -982,12 +913,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 +933,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 +953,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 +1008,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 +1061,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 +1070,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 +1107,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 +1243,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 +1266,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 +1356,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 +1383,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 +1596,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 +1646,9 @@
     <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="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 +1740,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 +1748,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>
@@ -1919,7 +1882,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 +2082,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 +2090,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 +2159,41 @@
     <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="2370077188725433271">"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_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 +2206,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>
@@ -2429,10 +2445,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vaše aplikacije troše bateriju uobičajenom brzinom. Ako prebrzo troše bateriju, uređaj će predložiti radnje koje možete preduzeti.\n\nUvijek možete uključiti Uštedu baterije ako je baterija skoro prazna."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Upravitelj baterije"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatsko upravljanje aplikacijama"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Ograničite upotrebu baterije za aplikacije koje ne koristite često"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Kada Upravitelj baterije otkrije da aplikacije troše bateriju, imat ćete opciju da na te aplikacije postavite ograničenje. Moguće je da aplikacije s ograničenjem neće raditi pravilno i da će obavještenja kasniti."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Kada Upravitelj baterije otkrije da aplikacije troše bateriju, imat ćete opciju da na te aplikacije postavite ograničenje. Moguće je da aplikacije s ograničenjem neće raditi pravilno i da će obavještenja kasniti."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Kada Upravitelj baterije otkrije da aplikacije troše bateriju, imat ćete opciju da na te aplikacije postavite ograničenje. Moguće je da aplikacije s ograničenjem neće raditi pravilno i da će obavještenja kasniti."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Ograničite upotrebu baterije za aplikacije koje ne koristite često"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Kada Upravitelj baterije otkrije da aplikacije troše bateriju, imat ćete opciju da na te aplikacije postavite ograničenje. Moguće je da aplikacije s ograničenjem neće raditi pravilno i da će obavještenja kasniti."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Ograničene aplikacije"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Ograničavanje potrošnje baterije za %1$d aplikaciju</item>
@@ -2443,7 +2457,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Ove aplikacije koriste bateriju u pozadini. Moguće je da aplikacije s ograničenjem neće raditi pravilno i da će obavještenja kasniti."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Upotreba Upravitelja baterije"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Otkrij kada aplikacije troše bateriju"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Uključeno / Otkrivanje kada aplikacije troše bateriju"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Uključeno / Otkrivanje kada aplikacije troše bateriju"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Isključeno"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">Ograničena je %1$d aplikacija</item>
@@ -2552,7 +2566,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>
@@ -2633,8 +2646,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>
@@ -2650,10 +2662,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Akreditivi nisu dostupni za ovog korisnika"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalirani za VPN i aplikacije"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalirani za WiFi mrežu"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instalirano za potvrdu izvora instalacije aplikacije"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Ukloniti sav sadržaj?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Potvrda izvora aplikacije"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Ovu potvrdu instalirate na vlastiti rizik"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Potvrde izvora aplikacija potvrđuju da su aplikacije sigurne za vaš uređaj. Instalirajte potvrde samo ako dolaze od organizacija kojima vjerujete."</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>
@@ -2681,10 +2705,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>
@@ -2698,6 +2718,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>
@@ -2930,9 +2959,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"jedan korisnički certifikat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"jedan CA certifikat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA certifikati"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"jedna potvrda izvora aplikacije"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detalji o akreditivima"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Uklonjeni akreditiv: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nisu instalirani korisnički akreditivi"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Ponovo pokrenite da koristite potvrdu"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Da koristite ovu potvrdu izvora aplikacije, morate ponovo pokrenuti uređaj"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Ponovo pokrenite da završite deinstaliranje"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Da deinstalirate ovu potvrdu izvora aplikacije, morate ponovo pokrenuti uređaj"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Ponovo pokreni"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ne sada"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Provjera pravopisa"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Provjera pravopisa za posao"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Ovdje unesite trenutnu lozinku za sigurnosnu kopiju čitavog sistema"</string>
@@ -3051,7 +3087,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>
@@ -3120,7 +3155,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>
@@ -3130,6 +3164,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>
@@ -3143,7 +3178,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>
@@ -3162,6 +3196,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>
@@ -3172,13 +3207,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>
@@ -3202,7 +3238,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>
@@ -3240,6 +3276,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>
@@ -3249,18 +3286,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>
@@ -3268,6 +3306,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>
@@ -3292,6 +3333,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>
@@ -3318,7 +3360,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>
@@ -3349,7 +3391,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>
@@ -3381,10 +3423,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>
@@ -3428,16 +3472,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>
@@ -3455,6 +3509,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>
@@ -3485,6 +3540,12 @@
     <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="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>
@@ -3503,7 +3564,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>
@@ -3527,6 +3588,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>
@@ -3591,8 +3653,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>
@@ -3647,6 +3711,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>
@@ -3660,15 +3728,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">
@@ -3714,6 +3787,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>
@@ -3802,8 +3876,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>
@@ -3815,6 +3887,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>
@@ -3827,9 +3900,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>
@@ -3976,8 +4055,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>
@@ -4148,6 +4230,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>
@@ -4212,14 +4296,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>
@@ -4312,8 +4392,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>
@@ -4485,20 +4569,24 @@
     <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="5389656885733341448">"Beta drajver"</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_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) -->
+    <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>
@@ -4663,7 +4751,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>
@@ -4672,12 +4759,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>
@@ -4687,6 +4770,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>
@@ -4753,6 +4838,13 @@
     <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>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index 881f17f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Cap"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Cap"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Cap"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 ab23e7d..dc3bfa4 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Temps de visibilitat"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloqueja el marcatge per veu"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Impedeix l\'ús del marcador Bluetooth quan la pantalla estigui bloquejada"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Dispositius Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nom del dispositiu"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Configuració del dispositiu"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Configuració del perfil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Les teves aplicacions utilitzen una quantitat normal de bateria. Si n\'utilitzen massa, el dispositiu et suggerirà mesures per evitar-ho.\n\nSi tens poca bateria, sempre pots activar l\'estalvi de bateria."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestor de bateria"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gestiona les aplicacions automàticament"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limita l\'ús de bateria de les aplicacions que no utilitzes habitualment"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Quan el gestor de bateria detecta que hi ha aplicacions que consumeixen molta bateria, t\'ofereix l\'opció de restringir-les. És possible que les aplicacions restringides no funcionin correctament i que en rebis les notificacions amb retard."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Quan el gestor de bateria detecta que hi ha aplicacions que consumeixen molta bateria, t\'ofereix l\'opció de restringir-les. És possible que les aplicacions restringides no funcionin correctament i que en rebis les notificacions amb retard."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Quan el gestor de bateria detecta que hi ha aplicacions que consumeixen molta bateria, t\'ofereix l\'opció de restringir-les. És possible que les aplicacions restringides no funcionin correctament i que en rebis les notificacions amb retard."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limita l\'ús de bateria de les aplicacions que no utilitzes habitualment"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Quan el gestor de bateria detecta que hi ha aplicacions que consumeixen molta bateria, t\'ofereix l\'opció de restringir-les. És possible que les aplicacions restringides no funcionin correctament i que en rebis les notificacions amb retard."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Aplicacions restringides"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">S\'ha limitat l\'ús de la bateria per a %1$d aplicacions</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Aquestes aplicacions han estat consumint bateria en segon pla. És possible que les aplicacions restringides no funcionin correctament i que en rebis les notificacions amb retard."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Utilitza el gestor de bateria"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detecta quan les aplicacions consumeixen bateria"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Activat: es detecta el consum de bateria de les aplicacions"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Activat: es detecta el consum de bateria de les aplicacions"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Desactivat"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">S\'han restringit %1$d aplicacions</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Les credencials no estan disponibles per a aquest usuari."</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instal·lada per a xarxes VPN i aplicacions"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instal·lada per a xarxes Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"S\'ha instal·lat per verificar la font d\'instal·lació de l\'aplicació"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Vols suprimir tots els continguts?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificat de font d\'aplicació"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instal·la el certificat sota la teva responsabilitat"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Els certificats de font d\'aplicació verifiquen que les aplicacions són segures per al dispositiu. Instal·la només certificats d\'organitzacions en què confiïs."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"un certificat d\'usuari"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"un certificat de CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d certificats de CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"un certificat de font d\'aplicació"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Informació de les credencials"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"S\'han suprimit les credencials: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"No hi ha credencials d\'usuari instal·lades"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Reinicia per utilitzar el certificat"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Per poder utilitzar aquest certificat de font d\'aplicació, has de reiniciar el dispositiu"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Reinicia per finalitzar la desinstal·lació"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Per poder desinstal·lar aquest certificat de font d\'aplicació, has de reiniciar el dispositiu"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Reinicia"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ara no"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Corrector ortogràfic"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Corrector ortogràfic per a la feina"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Introdueix la contrasenya actual de la còpia de seguretat completa"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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">"mostra 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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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 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="5389656885733341448">"Controlador de prova"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index 8153cf1..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Žádné"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Žádné"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Žádné"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 a0babab..7bd250a 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>
@@ -101,7 +68,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Časový limit viditelnosti"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Uzamknout hlasové vytáčení"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Zabránit použití vytáčení Bluetooth při uzamčené obrazovce"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Zařízení Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Název zařízení"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Nastavení zařízení"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Nastavení profilu"</string>
@@ -176,9 +142,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 +177,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 +219,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 +237,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 +244,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 +287,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 +318,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 +631,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 +673,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>
@@ -872,16 +799,19 @@
     <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 +885,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 +896,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 +904,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>
@@ -998,12 +930,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 +950,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 +970,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 +1028,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 +1081,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 +1090,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 +1127,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 +1263,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 +1286,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 +1377,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 +1404,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 +1617,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 +1667,9 @@
     <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="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 +1762,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 +1770,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>
@@ -1941,7 +1905,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 +2105,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 +2113,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 +2182,41 @@
     <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="2370077188725433271">"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_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 +2230,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>
@@ -2464,10 +2482,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vaše aplikace mají běžnou spotřebu baterie. Pokud dojde k velkému zvýšení spotřeby, zařízení vám doporučí možné akce.\n\nPokud vám dochází baterie, můžete podle potřeby zapnout spořič baterie."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Správce baterie"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatická správa aplikací"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Omezte využití baterie u aplikací, které používáte zřídka"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Když Správce baterie zjistí, že aplikace vybíjejí baterii, dostanete možnost tyto aplikace omezit. Omezené aplikace nemusí fungovat správně a jejich oznámení se mohou zobrazovat se zpožděním."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Když Správce baterie zjistí, že aplikace vybíjejí baterii, dostanete možnost tyto aplikace omezit. Omezené aplikace nemusí fungovat správně a jejich oznámení se mohou zobrazovat se zpožděním."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Když Správce baterie zjistí, že aplikace vybíjejí baterii, dostanete možnost tyto aplikace omezit. Omezené aplikace nemusí fungovat správně a jejich oznámení se mohou zobrazovat se zpožděním."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Omezte využití baterie u aplikací, které používáte zřídka"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Když Správce baterie zjistí, že aplikace vybíjejí baterii, dostanete možnost tyto aplikace omezit. Omezené aplikace nemusí fungovat správně a jejich oznámení se mohou zobrazovat se zpožděním."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Omezené aplikace"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="few">Omezení využití baterie u %1$d aplikací</item>
@@ -2479,7 +2495,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Tyto aplikace využívají baterii na pozadí. Omezené aplikace nemusí fungovat správně a jejich oznámení se mohou zobrazovat se zpožděním."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Použít správce baterie"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Zjišťovat, zda aplikace vybíjejí baterii"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Zapnuto / Zjišťování, zda aplikace vybíjejí baterii"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Zapnuto / Zjišťování, zda aplikace vybíjejí baterii"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Vypnuto"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="few">Jsou omezeny %1$d aplikace</item>
@@ -2589,7 +2605,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>
@@ -2670,8 +2685,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>
@@ -2687,10 +2701,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Pro tohoto uživatele jsou identifikační údaje nedostupné."</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Nainstalováno pro síť VPN a aplikace"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Nainstalování pro síť Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Nainstalováno za účelem ověření zdroje instalace aplikace"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Odstranit veškerý obsah?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certifikát zdroje aplikace"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Tento certifikát instalujete na vlastní nebezpečí"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Certifikáty zdroje aplikace ověřují, zda jsou aplikace pro vaše zařízení bezpečné. Instalujte pouze certifikáty od organizací, kterým důvěřujete."</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>
@@ -2718,10 +2744,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>
@@ -2735,6 +2757,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>
@@ -2967,9 +2999,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"jeden certifikát uživatele"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"jeden certifikát CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"certifikáty CA (%d)"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"jeden certifikát zdroje aplikace"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Podrobnosti o identifikačních údajích"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Odstraněné identifikační údaje: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nejsou nainstalovány žádné identifikační údaje uživatele"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Certifikát použijete restartováním"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Chcete-li tento certifikát zdroje aplikace použít, musíte restartovat zařízení"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Odinstalaci dokončíte restartováním"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Chcete-li tento certifikát zdroje aplikace odinstalovat, musíte restartovat zařízení"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Restartovat"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Teď ne"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Kontrola pravopisu"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Kontrola pravopisu pro práci"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Sem zadejte aktuální heslo pro úplné zálohy."</string>
@@ -3092,7 +3131,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>
@@ -3161,7 +3199,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>
@@ -3171,6 +3208,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>
@@ -3184,7 +3222,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>
@@ -3204,6 +3241,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>
@@ -3214,13 +3252,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>
@@ -3244,7 +3283,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>
@@ -3282,6 +3321,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>
@@ -3291,18 +3331,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>
@@ -3310,6 +3351,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>
@@ -3335,6 +3379,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>
@@ -3361,7 +3406,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>
@@ -3392,7 +3437,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>
@@ -3426,10 +3471,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>
@@ -3473,16 +3520,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>
@@ -3500,6 +3557,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>
@@ -3530,6 +3588,12 @@
     <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="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>
@@ -3548,7 +3612,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>
@@ -3575,6 +3639,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>
@@ -3642,8 +3707,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>
@@ -3699,6 +3766,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>
@@ -3712,15 +3783,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">
@@ -3769,6 +3845,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>
@@ -3861,8 +3938,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>
@@ -3874,6 +3949,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>
@@ -3887,9 +3963,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>
@@ -4039,8 +4122,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>
@@ -4216,6 +4302,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>
@@ -4281,14 +4369,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>
@@ -4385,8 +4469,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>
@@ -4565,20 +4653,24 @@
     <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="5389656885733341448">"Předběžně vydaný ovladač"</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_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) -->
+    <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>
@@ -4744,7 +4836,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>
@@ -4753,13 +4844,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>
@@ -4769,6 +4855,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>
@@ -4838,6 +4926,13 @@
     <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>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index a6b5daa..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ingen"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ingen"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ingen"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 5353f85..5e167b2 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Timeout for synlighed"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Lås stemmeopkald"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Bloker brug af Bluetooth-opkald, når skærmen er låst"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-enheder"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Enhedens navn"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Enhedsindstillinger"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profilindstillinger"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Dine apps har et normalt batteriforbrug. Hvis apps bruger for meget batteri, foreslår din enhed, hvad du kan gøre.\n\nDu kan altid aktivere batterisparefunktionen, hvis enheden er ved at løbe tør for batteri."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batteriadministration"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Administrer automatisk apps"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Begræns batteriforbrug for apps, du ikke bruger så ofte"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Når batteriadministrator registrerer, at der er apps, som dræner batteriet, får du mulighed for at begrænse disse apps. Begrænsede apps fungere muligvis ikke korrekt, og notifikationer kan være forsinkede."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Når batteriadministrator registrerer, at der er apps, som dræner batteriet, får du mulighed for at begrænse disse apps. Begrænsede apps fungere muligvis ikke korrekt, og notifikationer kan være forsinkede."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Når batteriadministrator registrerer, at der er apps, som dræner batteriet, får du mulighed for at begrænse disse apps. Begrænsede apps fungere muligvis ikke korrekt, og notifikationer kan være forsinkede."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Begræns batteriforbrug for apps, du ikke bruger så ofte"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Når batteriadministrator registrerer, at der er apps, som dræner batteriet, får du mulighed for at begrænse disse apps. Begrænsede apps fungere muligvis ikke korrekt, og notifikationer kan være forsinkede."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Begrænsede apps"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Begræns batteriforbruget for %1$d app</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Disse apps har brugt batteri i baggrunden. Begrænsede apps fungerer muligvis ikke korrekt, og notifikationer kan være forsinkede."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Brug batteriadministration"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Registrer, når apps dræner batteriet"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Til – Registrerer, når apps dræner batteriet"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Til – Registrerer, når apps dræner batteriet"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Fra"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d app er begrænset</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Loginoplysningerne for denne bruger er ikke tilgængelige"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installeret til VPN og apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installeret til Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installeret for at bekræfte appkilden ved installation"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Vil du fjerne alt indhold?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certifikat for appkilde"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installation af dette certifikat er på eget ansvar"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Certifikater for appkilde bekræfter, at apps er sikre at installere på din enhed. Du bør kun installere certifikater fra organisationer, som du har tillid til."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ét brugercertifikat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ét CA-certifikat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA-certifikater"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ét certifikat for appkilde"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Loginoplysninger"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Fjernede loginoplysninger: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Der er ikke installeret nogen brugerloginoplysninger"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Genstart for at bruge certifikatet"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Genstart din enhed for at bruge dette certifikat for appkilde"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Genstart for at udføre afinstallationen"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Genstart din enhed for at afinstallere dette certifikat for appkilde"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Genstart"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ikke nu"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Stavekontrol"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Stavekontrol til arbejdet"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Angiv din aktuelle adgangskode til fuldstændig backup:"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Driver til forhåndsudgivelse"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index 6b412c9..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Keine Angabe"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MS-CHAP v2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Keine"</item>
-    <item msgid="6196154457987907739">"MS-CHAP v2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MS-CHAP v2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Keine"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MS-CHAP"</item>
+    <item msgid="2210309879499032393">"MS-CHAP v2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 2d6cf09..44467e5 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Sichtbarkeit einstellen"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Sprachwahl sperren"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Verwendung des Bluetooth-Dialers bei gesperrtem Bildschirm verhindern"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-Geräte"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Gerätename"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Geräteeinstellungen"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profileinstellungen"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -841,16 +766,19 @@
     <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 +852,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 +863,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 +871,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>
@@ -967,12 +897,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 +917,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 +937,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 +989,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 +1042,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 +1051,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 +1088,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 +1224,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 +1247,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 +1336,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 +1363,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 +1576,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 +1626,12 @@
     <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>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1722,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 +1730,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>
@@ -1898,7 +1863,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 +2063,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 +2071,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2141,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"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_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 +2188,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>
@@ -2395,10 +2414,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Der Akkuverbrauch durch Apps ist zurzeit normal. Falls der Akku zu stark beansprucht wird, werden dir mögliche Maßnahmen vorgeschlagen.\n\nBei niedrigem Akkustand kannst du jederzeit den Energiesparmodus aktivieren."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akku-Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Apps automatisch verwalten"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Akkunutzung für selten verwendete Apps einschränken"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Wenn die Funktion \"Akku-Manager\" Apps mit hohem Akkuverbrauch erkennt, hast du die Möglichkeit, diese Apps einzuschränken. Eventuell funktionieren sie dann nicht mehr richtig und Benachrichtigungen werden verzögert angezeigt."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Wenn die Funktion \"Akku-Manager\" Apps mit hohem Akkuverbrauch erkennt, hast du die Möglichkeit, diese Apps einzuschränken. Eventuell funktionieren sie dann nicht mehr richtig und Benachrichtigungen werden verzögert angezeigt."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Wenn die Funktion \"Akku-Manager\" Apps mit hohem Akkuverbrauch erkennt, hast du die Möglichkeit, diese Apps einzuschränken. Eventuell funktionieren sie dann nicht mehr richtig und Benachrichtigungen werden verzögert angezeigt."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Akkunutzung für selten verwendete Apps einschränken"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Wenn die Funktion \"Akku-Manager\" Apps mit hohem Akkuverbrauch erkennt, hast du die Möglichkeit, diese Apps einzuschränken. Eventuell funktionieren sie dann nicht mehr richtig und Benachrichtigungen werden verzögert angezeigt."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Eingeschränkte Apps"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Akkunutzung wird für %1$d Apps eingeschränkt</item>
@@ -2408,7 +2425,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Diese Apps verbrauchen im Hintergrund Strom. Durch Einschränken der Apps funktionieren sie möglicherweise nicht mehr richtig und Benachrichtigungen können verzögert angezeigt werden."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Funktion \"Akku-Manager\" verwenden"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Starke Beanspruchung des Akkus durch Apps erkennen"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"An / Starke Beanspruchung des Akkus durch Apps wird erkannt"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"An / Starke Beanspruchung des Akkus durch Apps wird erkannt"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Aus"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d Apps beschränkt</item>
@@ -2516,7 +2533,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>
@@ -2597,8 +2613,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>
@@ -2614,10 +2629,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Anmeldedaten sind für diesen Nutzer nicht verfügbar."</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installiert für VPN und Apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installiert für WLAN"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installiert zur Bestätigung der App-Installationsquelle"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Alle Inhalte entfernen?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"App-Quellzertifikat"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installation des Zertifikats auf eigene Gefahr"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"App-Quellzertifikate verifizieren, dass Apps für dein Gerät sicher sind. Du solltest nur Zertifikate von Organisationen installieren, denen du vertraust."</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>
@@ -2645,10 +2672,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>
@@ -2662,6 +2685,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>
@@ -2894,9 +2925,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ein Nutzerzertifikat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ein CA-Zertifikat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA-Zertifikate"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ein App-Quellzertifikat"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Details für Anmeldedaten"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Anmeldedaten entfernt: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Keine Nutzeranmeldedaten installiert"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Zum Verwenden des Zertifikats neu starten"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Starte das Gerät neu, um das App-Quellzertifikat zu verwenden"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Zum Fertigstellen der Deinstallation neu starten"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Starte das Gerät neu, um das App-Quellzertifikat zu deinstallieren"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Neu starten"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Später"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Rechtschreibprüfung"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Rechtschreibprüfung für die Arbeit"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Aktuelles Passwort für vollständige Sicherungen eingeben"</string>
@@ -3011,7 +3049,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>
@@ -3080,7 +3117,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>
@@ -3090,6 +3126,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>
@@ -3103,7 +3140,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>
@@ -3121,6 +3157,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>
@@ -3131,13 +3168,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>
@@ -3161,7 +3199,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>
@@ -3199,6 +3237,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>
@@ -3208,18 +3247,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>
@@ -3227,6 +3267,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>
@@ -3250,6 +3293,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>
@@ -3276,7 +3320,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>
@@ -3307,7 +3351,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>
@@ -3337,10 +3381,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>
@@ -3384,16 +3430,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>
@@ -3411,6 +3467,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>
@@ -3441,6 +3498,12 @@
     <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="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>
@@ -3459,7 +3522,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>
@@ -3480,6 +3543,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>
@@ -3541,8 +3605,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>
@@ -3596,6 +3662,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>
@@ -3609,15 +3679,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">
@@ -3660,6 +3735,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>
@@ -3744,8 +3820,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>
@@ -3757,6 +3831,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>
@@ -3768,9 +3843,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>
@@ -3914,8 +3994,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>
@@ -4081,6 +4164,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>
@@ -4144,14 +4229,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>
@@ -4240,8 +4321,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>
@@ -4406,20 +4491,24 @@
     <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="5389656885733341448">"Prerelease-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_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) -->
+    <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>
@@ -4583,7 +4672,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>
@@ -4592,11 +4680,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>
@@ -4606,6 +4691,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>
@@ -4669,6 +4756,13 @@
     <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>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 64305c9..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Καμία"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Κανένα"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Κανένα"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 16e6789..49a5bdd 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Λήξη χρονικού ορίου προβολής"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Κλείδωμα της λειτουργίας φωνητικών κλήσεων"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Να μην επιτρέπεται η χρήση του προγράμματος κλήσης bluetooth όταν η οθόνη είναι κλειδωμένη"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Συσκευές Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Όνομα συσκευής"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Ρυθμίσεις συσκευής"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Ρυθμίσεις προφίλ"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"διάρκεια αυτόματου κλικ"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Οι εφαρμογές σας χρησιμοποιούν κανονική ποσότητα μπαταρίας. Εάν οι εφαρμογές χρησιμοποιούν πάρα πολλή μπαταρία, η συσκευή σας θα προτείνει ενέργειες που μπορείτε να εκτελέσετε.\n\nΜπορείτε πάντα να ενεργοποιήσετε την Εξοικονόμηση μπαταρίας εάν εξαντλείται η μπαταρία σας."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Διαχείριση μπαταρίας"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Αυτόματη διαχείριση εφαρμογών"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Περιορισμός μπαταρίας για εφαρμογές τις οποίες δεν χρησιμοποιείτε συχνά"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Όταν η Διαχείριση μπαταρίας ανιχνεύσει εξάντληση της μπαταρίας από εφαρμογές, θα μπορείτε να επιλέξετε να περιοριστούν αυτές οι εφαρμογές. Οι περιορισμένες εφαρμογές μπορεί να μην λειτουργούν σωστά και οι ειδοποιήσεις μπορεί να παρουσιάσουν καθυστέρηση."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Όταν η Διαχείριση μπαταρίας ανιχνεύσει εξάντληση της μπαταρίας από εφαρμογές, θα μπορείτε να επιλέξετε να περιοριστούν αυτές οι εφαρμογές. Οι περιορισμένες εφαρμογές μπορεί να μην λειτουργούν σωστά και οι ειδοποιήσεις μπορεί να παρουσιάσουν καθυστέρηση."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Όταν η Διαχείριση μπαταρίας ανιχνεύσει εξάντληση της μπαταρίας από εφαρμογές, θα μπορείτε να επιλέξετε να περιοριστούν αυτές οι εφαρμογές. Οι περιορισμένες εφαρμογές μπορεί να μην λειτουργούν σωστά και οι ειδοποιήσεις μπορεί να παρουσιάσουν καθυστέρηση."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Περιορισμός μπαταρίας για εφαρμογές τις οποίες δεν χρησιμοποιείτε συχνά"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Όταν η Διαχείριση μπαταρίας ανιχνεύσει εξάντληση της μπαταρίας από εφαρμογές, θα μπορείτε να επιλέξετε να περιοριστούν αυτές οι εφαρμογές. Οι περιορισμένες εφαρμογές μπορεί να μην λειτουργούν σωστά και οι ειδοποιήσεις μπορεί να παρουσιάσουν καθυστέρηση."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Περιορισμένες εφαρμογές"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Περιορισμός χρήσης μπαταρίας για %1$d εφαρμογές</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Αυτές οι εφαρμογές χρησιμοποιούν μπαταρία στο παρασκήνιο. Οι εφαρμογές περιορισμένης πρόσβασης πιθανώς να μην λειτουργούν σωστά και οι ειδοποιήσεις ενδέχεται να εμφανίζονται με καθυστέρηση."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Χρήση Διαχείρισης μπαταρίας"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Ανίχνευση εξάντλησης μπαταρίας από εφαρμογές"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Ενεργή / Ανίχνευση εξάντλησης μπαταρίας από εφαρμογές"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Ενεργή / Ανίχνευση εξάντλησης μπαταρίας από εφαρμογές"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Ανενεργή"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d εφαρμογές έχουν περιοριστεί</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Τα διαπιστευτήρια δεν είναι διαθέσιμα γι\' αυτόν το χρήστη"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Εγκαταστάθηκε για VPN και εφαρμογές"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Εγκαταστάθηκε για Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Εγκαταστάθηκε για επαλήθευση πηγής εγκατάστασης εφαρμογής."</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Να καταργηθούν όλα τα περιεχόμενα;"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Πιστοποιητικό πηγής εφαρμογής"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Εγκαταστήστε το πιστοποιητικό με δική σας ευθύνη"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Τα πιστοποιητικά πηγής εφαρμογής επαληθεύουν ότι οι εφαρμογές είναι ασφαλείς για τη συσκευή σας. Εγκαθιστάτε πιστοποιητικά μόνο από οργανισμούς που εμπιστεύεστε."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"πιστοποιητικό για ένα χρήστη"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"πιστοποιητικό μίας αρχής πιστοποίησης"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"Πιστοποιητικά αρχών πιστοποίησης %d"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ένα πιστοποιητικό πηγής εφαρμογής"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Λεπτομέρειες διαπιστευτηρίων"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Καταργήθηκαν τα διαπιστευτήρια: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Δεν έχουν εγκατασταθεί διαπιστευτήρια χρήστη"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Επανεκκινήστε για χρήση του πιστοποιητικού"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Για να χρησιμοποιήσετε αυτό το πιστοποιητικό πηγής εφαρμογής, θα πρέπει να κάνετε επανεκκίνηση της συσκευής σας."</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Επανεκκινήστε για ολοκλήρωση απεγκατάστασης"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Για να απεγκαταστήσετε αυτό το πιστοποιητικό πηγής εφαρμογής, θα πρέπει να κάνετε επανεκκίνηση της συσκευής σας."</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Επανεκκίνηση"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Όχι τώρα"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Ορθογραφικός έλεγχος"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Ορθογραφικός έλεγχος για εργασία"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Πληκτρολογήστε τον τρέχοντα κωδικό πρόσβασής σας για πλήρες αντίγραφο ασφαλείας εδώ"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Εμφάνιση σιωπηλά και ελαχιστοποίηση"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Εμφάνιση χωρίς ειδοποίηση"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Αναπαραγωγή ήχου"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Πρόγραμμα οδήγησης προέκδοσης"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index ec8bb9f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"None"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"None"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"None"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 febfdaf..4184c94 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Visibility timeout"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Lock voice dialling"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Prevent use of the Bluetooth dialler when the screen is locked"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth devices"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Device name"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Device settings"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profile settings"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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>
@@ -1249,11 +1200,11 @@
     <string name="night_display_end_time_title" msgid="5243112480391192111">"End time"</string>
     <string name="night_display_status_title" msgid="9006282950657941820">"Status"</string>
     <string name="night_display_temperature_title" msgid="857248782470764263">"Intensity"</string>
-    <string name="night_display_summary_off" msgid="4676320734342206009">"Off / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="night_display_summary_off" msgid="4676320734342206009">"Off/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_never" msgid="7406899634169354142">"Will never turn on automatically"</string>
     <string name="night_display_summary_off_auto_mode_custom" msgid="6667008039080687931">"Will turn on automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_twilight" msgid="3669132200611324994">"Will turn on automatically at sunset"</string>
-    <string name="night_display_summary_on" msgid="8932395375143965229">"On / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="night_display_summary_on" msgid="8932395375143965229">"On/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_on_auto_mode_never" msgid="832333009202889350">"Will never turn off automatically"</string>
     <string name="night_display_summary_on_auto_mode_custom" msgid="2096677025343425755">"Will turn off automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_on_auto_mode_twilight" msgid="8070517472000680361">"Will turn off automatically at sunrise"</string>
@@ -1272,13 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Manage apps automatically"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limit battery for apps that you don’t use often"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limit battery for apps that you don’t use often"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Restricted apps"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Limiting battery usage for %1$d apps</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"These apps have been using battery in the background. Restricted apps may not work properly and notifications may be delayed."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Use Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detect when apps drain battery"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"On/detecting when apps drain battery"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"On/detecting when apps drain battery"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Off"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d apps restricted</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Credentials are not available for this user"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installed for VPN and apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installed for Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installed for app install source verification"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Remove all the contents?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"App source 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Install this certificate at your own risk"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"App source certificates verify that apps are safe for your device. Only install certificates from organisations that you trust."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"one user certificate"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"one CA certificate"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA certificates"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"one app source certificate"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Credential details"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Removed credential: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"No user credentials installed"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Restart to use certificate"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"To use this app source certificate, you need to restart your device"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Restart to finish uninstalling"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"To uninstall this app source certificate, you need to restart your device"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Restart"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Not now"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Spell checker"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Spell checker for work"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Type your current full backup password here"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3572,7 +3633,7 @@
     <string name="zen_mode_event_rule_reply_yes_or_maybe" msgid="6584448788100186574">"Yes or Maybe"</string>
     <string name="zen_mode_event_rule_reply_yes" msgid="7812120982734551236">"Yes"</string>
     <string name="zen_mode_rule_not_found_text" msgid="5303667326973891036">"Rule not found."</string>
-    <string name="zen_mode_rule_summary_enabled_combination" msgid="1183604368083885789">"On / <xliff:g id="MODE">%1$s</xliff:g>"</string>
+    <string name="zen_mode_rule_summary_enabled_combination" msgid="1183604368083885789">"On/<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">"Days"</string>
     <string name="zen_mode_schedule_rule_days_none" msgid="5636604196262227070">"None"</string>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Pre-release 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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index ec8bb9f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"None"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"None"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"None"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 0e27c99..7fbadd9 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Visibility timeout"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Lock voice dialling"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Prevent use of the Bluetooth dialler when the screen is locked"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth devices"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Device name"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Device settings"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profile settings"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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>
@@ -1249,11 +1200,11 @@
     <string name="night_display_end_time_title" msgid="5243112480391192111">"End time"</string>
     <string name="night_display_status_title" msgid="9006282950657941820">"Status"</string>
     <string name="night_display_temperature_title" msgid="857248782470764263">"Intensity"</string>
-    <string name="night_display_summary_off" msgid="4676320734342206009">"Off / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="night_display_summary_off" msgid="4676320734342206009">"Off/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_never" msgid="7406899634169354142">"Will never turn on automatically"</string>
     <string name="night_display_summary_off_auto_mode_custom" msgid="6667008039080687931">"Will turn on automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_twilight" msgid="3669132200611324994">"Will turn on automatically at sunset"</string>
-    <string name="night_display_summary_on" msgid="8932395375143965229">"On / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="night_display_summary_on" msgid="8932395375143965229">"On/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_on_auto_mode_never" msgid="832333009202889350">"Will never turn off automatically"</string>
     <string name="night_display_summary_on_auto_mode_custom" msgid="2096677025343425755">"Will turn off automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_on_auto_mode_twilight" msgid="8070517472000680361">"Will turn off automatically at sunrise"</string>
@@ -1272,13 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Manage apps automatically"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limit battery for apps that you don’t use often"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limit battery for apps that you don’t use often"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Restricted apps"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Limiting battery usage for %1$d apps</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"These apps have been using battery in the background. Restricted apps may not work properly and notifications may be delayed."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Use Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detect when apps drain battery"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"On/detecting when apps drain battery"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"On/detecting when apps drain battery"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Off"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d apps restricted</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Credentials are not available for this user"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installed for VPN and apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installed for Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installed for app install source verification"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Remove all the contents?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"App source 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Install this certificate at your own risk"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"App source certificates verify that apps are safe for your device. Only install certificates from organisations that you trust."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"one user certificate"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"one CA certificate"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA certificates"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"one app source certificate"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Credential details"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Removed credential: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"No user credentials installed"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Restart to use certificate"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"To use this app source certificate, you need to restart your device"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Restart to finish uninstalling"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"To uninstall this app source certificate, you need to restart your device"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Restart"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Not now"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Spell checker"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Spell checker for work"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Type your current full backup password here"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3572,7 +3633,7 @@
     <string name="zen_mode_event_rule_reply_yes_or_maybe" msgid="6584448788100186574">"Yes or Maybe"</string>
     <string name="zen_mode_event_rule_reply_yes" msgid="7812120982734551236">"Yes"</string>
     <string name="zen_mode_rule_not_found_text" msgid="5303667326973891036">"Rule not found."</string>
-    <string name="zen_mode_rule_summary_enabled_combination" msgid="1183604368083885789">"On / <xliff:g id="MODE">%1$s</xliff:g>"</string>
+    <string name="zen_mode_rule_summary_enabled_combination" msgid="1183604368083885789">"On/<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">"Days"</string>
     <string name="zen_mode_schedule_rule_days_none" msgid="5636604196262227070">"None"</string>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Pre-release 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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index ec8bb9f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"None"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"None"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"None"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 febfdaf..4184c94 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Visibility timeout"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Lock voice dialling"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Prevent use of the Bluetooth dialler when the screen is locked"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth devices"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Device name"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Device settings"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profile settings"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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>
@@ -1249,11 +1200,11 @@
     <string name="night_display_end_time_title" msgid="5243112480391192111">"End time"</string>
     <string name="night_display_status_title" msgid="9006282950657941820">"Status"</string>
     <string name="night_display_temperature_title" msgid="857248782470764263">"Intensity"</string>
-    <string name="night_display_summary_off" msgid="4676320734342206009">"Off / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="night_display_summary_off" msgid="4676320734342206009">"Off/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_never" msgid="7406899634169354142">"Will never turn on automatically"</string>
     <string name="night_display_summary_off_auto_mode_custom" msgid="6667008039080687931">"Will turn on automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_twilight" msgid="3669132200611324994">"Will turn on automatically at sunset"</string>
-    <string name="night_display_summary_on" msgid="8932395375143965229">"On / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="night_display_summary_on" msgid="8932395375143965229">"On/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_on_auto_mode_never" msgid="832333009202889350">"Will never turn off automatically"</string>
     <string name="night_display_summary_on_auto_mode_custom" msgid="2096677025343425755">"Will turn off automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_on_auto_mode_twilight" msgid="8070517472000680361">"Will turn off automatically at sunrise"</string>
@@ -1272,13 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Manage apps automatically"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limit battery for apps that you don’t use often"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limit battery for apps that you don’t use often"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Restricted apps"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Limiting battery usage for %1$d apps</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"These apps have been using battery in the background. Restricted apps may not work properly and notifications may be delayed."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Use Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detect when apps drain battery"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"On/detecting when apps drain battery"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"On/detecting when apps drain battery"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Off"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d apps restricted</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Credentials are not available for this user"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installed for VPN and apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installed for Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installed for app install source verification"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Remove all the contents?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"App source 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Install this certificate at your own risk"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"App source certificates verify that apps are safe for your device. Only install certificates from organisations that you trust."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"one user certificate"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"one CA certificate"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA certificates"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"one app source certificate"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Credential details"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Removed credential: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"No user credentials installed"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Restart to use certificate"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"To use this app source certificate, you need to restart your device"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Restart to finish uninstalling"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"To uninstall this app source certificate, you need to restart your device"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Restart"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Not now"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Spell checker"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Spell checker for work"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Type your current full backup password here"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3572,7 +3633,7 @@
     <string name="zen_mode_event_rule_reply_yes_or_maybe" msgid="6584448788100186574">"Yes or Maybe"</string>
     <string name="zen_mode_event_rule_reply_yes" msgid="7812120982734551236">"Yes"</string>
     <string name="zen_mode_rule_not_found_text" msgid="5303667326973891036">"Rule not found."</string>
-    <string name="zen_mode_rule_summary_enabled_combination" msgid="1183604368083885789">"On / <xliff:g id="MODE">%1$s</xliff:g>"</string>
+    <string name="zen_mode_rule_summary_enabled_combination" msgid="1183604368083885789">"On/<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">"Days"</string>
     <string name="zen_mode_schedule_rule_days_none" msgid="5636604196262227070">"None"</string>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Pre-release 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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index ec8bb9f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"None"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"None"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"None"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 813da37..2fef18c 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Visibility timeout"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Lock voice dialling"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Prevent use of the Bluetooth dialler when the screen is locked"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth devices"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Device name"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Device settings"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profile settings"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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>
@@ -1249,11 +1200,11 @@
     <string name="night_display_end_time_title" msgid="5243112480391192111">"End time"</string>
     <string name="night_display_status_title" msgid="9006282950657941820">"Status"</string>
     <string name="night_display_temperature_title" msgid="857248782470764263">"Intensity"</string>
-    <string name="night_display_summary_off" msgid="4676320734342206009">"Off / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="night_display_summary_off" msgid="4676320734342206009">"Off/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_never" msgid="7406899634169354142">"Will never turn on automatically"</string>
     <string name="night_display_summary_off_auto_mode_custom" msgid="6667008039080687931">"Will turn on automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_off_auto_mode_twilight" msgid="3669132200611324994">"Will turn on automatically at sunset"</string>
-    <string name="night_display_summary_on" msgid="8932395375143965229">"On / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
+    <string name="night_display_summary_on" msgid="8932395375143965229">"On/<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_on_auto_mode_never" msgid="832333009202889350">"Will never turn off automatically"</string>
     <string name="night_display_summary_on_auto_mode_custom" msgid="2096677025343425755">"Will turn off automatically at <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="night_display_summary_on_auto_mode_twilight" msgid="8070517472000680361">"Will turn off automatically at sunrise"</string>
@@ -1272,13 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions that you can take.\n\nYou can always turn on Battery Saver if you’re running low on battery."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Manage apps automatically"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limit battery for apps that you don’t use often"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limit battery for apps that you don’t use often"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Restricted apps"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Limiting battery usage for %1$d apps</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"These apps have been using battery in the background. Restricted apps may not work properly and notifications may be delayed."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Use Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detect when apps drain battery"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"On/detecting when apps drain battery"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"On/detecting when apps drain battery"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Off"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d apps restricted</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Credentials are not available for this user"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installed for VPN and apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installed for Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installed for app install source verification"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Remove all the contents?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"App source 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Install this certificate at your own risk"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"App source certificates verify that apps are safe for your device. Only install certificates from organisations that you trust."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"one user certificate"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"one CA certificate"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA certificates"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"one app source certificate"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Credential details"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Removed credential: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"No user credentials installed"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Restart to use certificate"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"To use this app source certificate, you need to restart your device"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Restart to finish uninstalling"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"To uninstall this app source certificate, you need to restart your device"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Restart"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Not now"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Spell checker"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Spell checker for work"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Type your current full backup password here"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3572,7 +3633,7 @@
     <string name="zen_mode_event_rule_reply_yes_or_maybe" msgid="6584448788100186574">"Yes or Maybe"</string>
     <string name="zen_mode_event_rule_reply_yes" msgid="7812120982734551236">"Yes"</string>
     <string name="zen_mode_rule_not_found_text" msgid="5303667326973891036">"Rule not found."</string>
-    <string name="zen_mode_rule_summary_enabled_combination" msgid="1183604368083885789">"On / <xliff:g id="MODE">%1$s</xliff:g>"</string>
+    <string name="zen_mode_rule_summary_enabled_combination" msgid="1183604368083885789">"On/<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">"Days"</string>
     <string name="zen_mode_schedule_rule_days_none" msgid="5636604196262227070">"None"</string>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Pre-release 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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
index 3784224..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎PWD‎‏‎‎‏‎"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‎None‎‏‎‎‏‎"</item>
-    <item msgid="7999067440135784391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‎‎‏‏‏‎MSCHAPV2‎‏‎‎‏‎"</item>
-    <item msgid="4508543070243132707">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎GTC‎‏‎‎‏‎"</item>
+    <item msgid="8082624033981656770">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎MSCHAPV2‎‏‎‎‏‎"</item>
+    <item msgid="4182817453412578800">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎GTC‎‏‎‎‏‎"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎None‎‏‎‎‏‎"</item>
-    <item msgid="6196154457987907739">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‏‎MSCHAPV2‎‏‎‎‏‎"</item>
-    <item msgid="9026748161938741231">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‎GTC‎‏‎‎‏‎"</item>
-    <item msgid="286525156248577475">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‏‎SIM‎‏‎‎‏‎"</item>
-    <item msgid="7481822337687913543">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‏‎AKA‎‏‎‎‏‎"</item>
-    <item msgid="5495954851156664290">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎AKA\'‎‏‎‎‏‎"</item>
+    <item msgid="5943169794516984261">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‏‏‏‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‎‏‎‏‎MSCHAPV2‎‏‎‎‏‎"</item>
+    <item msgid="2379904471264702148">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‎‎GTC‎‏‎‎‏‎"</item>
+    <item msgid="5248162884898921025">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‎‎‎‏‎SIM‎‏‎‎‏‎"</item>
+    <item msgid="3148964951886919224">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎AKA‎‏‎‎‏‎"</item>
+    <item msgid="8987072060394684912">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‎‎‎AKA\'‎‏‎‎‏‎"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‎‏‎None‎‏‎‎‏‎"</item>
-    <item msgid="2548160166342921510">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎PAP‎‏‎‎‏‎"</item>
-    <item msgid="2030080230898427253">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎MSCHAP‎‏‎‎‏‎"</item>
-    <item msgid="3925393308736149115">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‏‎‎‏‏‏‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎MSCHAPV2‎‏‎‎‏‎"</item>
-    <item msgid="1489443379153624742">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‎‏‎‎‏‏‎‎GTC‎‏‎‎‏‎"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‎‏‎‎‎‏‎‏‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‎‏‏‏‎‏‎‎PAP‎‏‎‎‏‎"</item>
+    <item msgid="5204890303748068014">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‎MSCHAP‎‏‎‎‏‎"</item>
+    <item msgid="2210309879499032393">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‎‏‎MSCHAPV2‎‏‎‎‏‎"</item>
+    <item msgid="6686694694122598353">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‏‏‏‎‏‎‎‎‏‎GTC‎‏‎‎‏‎"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎DHCP‎‏‎‎‏‎"</item>
@@ -202,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>
@@ -407,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 9753904..f8c340d 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‎‏‎Visibility timeout‎‏‎‎‏‎"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‎‎‎‏‎‎‏‎‎Lock voice dialing‎‏‎‎‏‎"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‎‎‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎Prevent use of the bluetooth dialer when the screen is locked‎‏‎‎‏‎"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‎Bluetooth devices‎‏‎‎‏‎"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎Device name‎‏‎‎‏‎"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‏‎‎‎‎Device settings‎‏‎‎‏‎"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‏‎Profile settings‎‏‎‎‏‎"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‎‎‎‏‏‎‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‎‎‎‏‏‏‏‎‎‎‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‎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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‏‎Your apps are using a normal amount of battery. If apps use too much battery, your device will suggest actions you can take.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎You can always turn on Battery Saver if you’re running low on battery.‎‏‎‎‏‎"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‎Battery Manager‎‏‎‎‏‎"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‏‏‏‎‎Manage apps automatically‎‏‎‎‏‎"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‎‎‏‏‎‎Limit battery for apps that you don’t use often‎‏‎‎‏‎"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed.‎‏‎‎‏‎"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed.‎‏‎‎‏‎"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed.‎‏‎‎‏‎"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‏‎‎‏‏‎‎Limit battery for apps that you don’t use often‎‏‎‎‏‎"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎When Battery Manager detects that apps are draining battery, you’ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed.‎‏‎‎‏‎"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‎Restricted apps‎‏‎‎‏‎"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‎‎‎‎‎‎‎‎‎‏‏‎‏‏‏‎‏‏‏‎‏‏‎Limiting battery usage for %1$d apps‎‏‎‎‏‎</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‏‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎These apps have been using battery in the background. Restricted apps may not work properly and notifications may be delayed.‎‏‎‎‏‎"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎Use Battery Manager‎‏‎‎‏‎"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‏‎Detect when apps drain battery‎‏‎‎‏‎"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‎On / Detecting when apps drain battery‎‏‎‎‏‎"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‎On / Detecting when apps drain battery‎‏‎‎‏‎"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‏‎‏‏‏‏‎‎‎Off‎‏‎‎‏‎"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎%1$d apps restricted‎‏‎‎‏‎</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎Credentials are not available for this user‎‏‎‎‏‎"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‏‏‏‏‎‎‎‎‎‎Installed for VPN and apps‎‏‎‎‏‎"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‏‎‏‎‏‎‎‏‏‏‎‏‎‎‎‏‏‎‎Installed for Wi-Fi‎‏‎‎‏‎"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎Installed for app install source verification‎‏‎‎‏‎"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‎‎‎‏‏‎Remove all the contents?‎‏‎‎‏‎"</string>
     <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="app_src_certificate" msgid="436410009047766408">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‎‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎App Source 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="app_src_certificate_warning_title" msgid="3581334802881767289">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‎‎‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‎Install this certificate at your own risk‎‏‎‎‏‎"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‏‎App source certificates verify that apps are safe for your device. Only install certificates from organizations you trust.‎‏‎‎‏‎"</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‏‎‎one user certificate‎‏‎‎‏‎"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‏‎one CA certificate‎‏‎‎‏‎"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎%d CA certificates‎‏‎‎‏‎"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎one App Source certificate‎‏‎‎‏‎"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‎‏‎‎‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‎‎‎‏‎‎Credential details‎‏‎‎‏‎"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‎‏‏‏‎Removed credential: ‎‏‎‎‏‏‎<xliff:g id="CREDENTIAL_NAME">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‎‎‏‎‎No user credentials installed‎‏‎‎‏‎"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‎‎‎‏‏‎‎‎‎‎‏‎‎‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎Restart to use certificate‎‏‎‎‏‎"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‏‎‎‎‎‎‏‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎To use this app source certificate, you need to restart your device‎‏‎‎‏‎"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‎‎‎‎‎‎‎‏‏‎‎‏‎‏‏‏‏‎‎‎‏‏‎‎‎‎‎‏‏‏‏‎‎Restart to finish uninstalling‎‏‎‎‏‎"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‏‎‏‎‏‎‏‎‏‎‏‎‎‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎‎‎‎To uninstall this app source certificate, you need to restart your device‎‏‎‎‏‎"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎Restart‎‏‎‎‏‎"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎Not now‎‏‎‎‏‎"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‏‎‏‎‎‏‏‎Spell checker‎‏‎‎‏‎"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎Spell checker for work‎‏‎‎‏‎"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎Type your current full backup password here‎‏‎‎‏‎"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‎‎‎Prerelease 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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index f53b052..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ninguno"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ninguno"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ninguno"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 56d9a5e..e697d9d 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Definir visibilidad"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloquear marcación por voz"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Impedir el uso de Bluetooth del dispositivo cuando la pantalla esté bloqueada."</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Dispositivos Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nombre del dispositivo"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Configuración del dispositivo"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Configuración del perfil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"La cantidad de batería que usan tus apps es normal. Si consumen demasiada batería, el dispositivo te recomendará acciones.\n\nSi tienes poca batería, también puedes activar el Ahorro de batería."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Administrador de batería"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Administra apps automáticamente"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limitar el consumo de batería de las apps que no uses con frecuencia"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Si el administrador de batería detecta que hay apps que agotan la batería, podrás restringirlas, aunque es posible que no funcionen correctamente y que se retrasen las notificaciones."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Si el administrador de batería detecta que hay apps que agotan la batería, podrás restringirlas, aunque es posible que no funcionen correctamente y que se retrasen las notificaciones."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Si el administrador de batería detecta que hay apps que agotan la batería, podrás restringirlas, aunque es posible que no funcionen correctamente y que se retrasen las notificaciones."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limitar el consumo de batería de las apps que no uses con frecuencia"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Si el administrador de batería detecta que hay apps que agotan la batería, podrás restringirlas, aunque es posible que no funcionen correctamente y que se retrasen las notificaciones."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Apps restringidas"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Limitando el uso de batería de %1$d apps</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Estas apps consumen batería en segundo plano. Es posible que las apps restringidas no funcionen correctamente y que se retrasen las notificaciones."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Usar el administrador de batería"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detectar cuando las apps agotan la batería"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Activado: detectando cuando las apps agotan la batería"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Activado: detectando cuando las apps agotan la batería"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Desactivado"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d apps restringidas</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Las credenciales no están disponibles para este usuario."</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Se instaló para redes VPN y apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Se instaló para redes Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Se instaló para verificar la fuente de la instalación de la app"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"¿Quieres quitar todas las credenciales?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificado de fuentes de apps"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instala este certificado bajo tu responsabilidad"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Los certificados de fuentes de apps verifican que estas sean seguras para el dispositivo. Instala solo certificados de organizaciones que sean de confianza."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"un certificado de usuario"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"un Certificado de CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d Certificados de CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"un certificado de fuente de la app"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detalles de las credenciales"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Credencial quitada: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"No se instalaron credenciales de usuario"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Reinicia para usar el certificado"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Para usar el certificado de fuente de esta app, debes reiniciar el dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Reinicia para completar la desinstalación"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Para desinstalar el certificado de fuente de esta app, debes reiniciar el dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Reiniciar"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ahora no"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Corrector ortográfico"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Corrector ortográfico para el trabajo"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Escribe tu contraseña actual de copia de seguridad completa aquí."</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3477,6 +3535,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>
@@ -3538,8 +3597,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>
@@ -3593,6 +3654,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>
@@ -3606,15 +3671,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">
@@ -3657,6 +3727,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>
@@ -3741,8 +3812,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>
@@ -3754,6 +3823,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>
@@ -3765,9 +3835,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>
@@ -3911,8 +3986,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>
@@ -4078,6 +4156,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>
@@ -4141,14 +4221,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>
@@ -4237,8 +4313,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>
@@ -4403,20 +4483,24 @@
     <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="5389656885733341448">"Controlador previo al lanzamiento"</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_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) -->
+    <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>
@@ -4580,7 +4664,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>
@@ -4589,11 +4672,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>
@@ -4603,6 +4683,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>
@@ -4666,6 +4748,13 @@
     <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>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index fbbf758..49288ef 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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ninguna"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ninguna"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ninguno"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"Protocolo DHCP"</item>
@@ -202,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>
@@ -407,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 b2e994f..27efd16 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Tiempo de visibilidad"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloquear marcación por voz"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Evitar el uso del marcador a través de Bluetooth cuando la pantalla esté bloqueada"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Dispositivos Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nombre del dispositivo"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Ajustes del dispositivo"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Ajustes de perfil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 el 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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <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>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Tus aplicaciones usan una cantidad normal de batería. Si consumieran demasiada, tu dispositivo te recomendaría medidas para evitarlo.\n\nSi te queda poca carga, también puedes activar el Ahorro de batería."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestor de batería"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gestionar aplicaciones automáticamente"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limitar el consumo de batería de las aplicaciones que no utilices con frecuencia"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Cuando el gestor de batería detecte que las aplicaciones consumen batería, podrás restringirlas, aunque es posible que no funcionen correctamente y las notificaciones se retrasen."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Cuando el gestor de batería detecte que las aplicaciones consumen batería, podrás restringirlas, aunque es posible que no funcionen correctamente y las notificaciones se retrasen."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Cuando el gestor de batería detecte que las aplicaciones consumen batería, podrás restringirlas, aunque es posible que no funcionen correctamente y las notificaciones se retrasen."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limitar el consumo de batería de las aplicaciones que no utilices con frecuencia"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Cuando el gestor de batería detecte que las aplicaciones consumen batería, podrás restringirlas, aunque es posible que no funcionen correctamente y las notificaciones se retrasen."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Aplicaciones restringidas"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Se está limitando el consumo de batería de %1$d aplicaciones</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Estas aplicaciones han estado consumiendo batería en segundo plano. Es posible que las aplicaciones restringidas no funcionen correctamente y las notificaciones se retrasen."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Utilizar el gestor de batería"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detectar el consumo de batería de las aplicaciones"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Activado: detectando el consumo de batería de las aplicaciones"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Activado: detectando el consumo de batería de las aplicaciones"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Desactivado"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d aplicaciones restringidas</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Las credenciales no están disponibles para este usuario"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalada para redes VPN y aplicaciones"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalada para redes Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Se ha instalado para verificar la fuente de instalación de aplicaciones"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"¿Seguro que quieres quitar todos los contenidos?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificado de fuente de app."</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instalar este certificado bajo tu responsabilidad"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Los certificados de fuente de aplicación comprueban si las aplicaciones son seguras para el dispositivo. Instala solo certificados de organizaciones de confianza."</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"un certificado de usuario"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"un certificado de CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d certificados de CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"un certificado de fuente de aplicación"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detalles de credenciales"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Quitar credencial: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"No hay credenciales de usuario instaladas"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Reiniciar para utilizar el certificado"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Para utilizar este certificado de fuente de aplicación, tienes que reiniciar el dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Reiniciar para terminar de desinstalar"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Para desinstalar este certificado de fuente de aplicación, tienes que reiniciar el dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Reiniciar"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ahora no"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Corrector ortográfico"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Corrector ortográfico para el trabajo"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Introduce aquí la contraseña actual de la copia de seguridad completa."</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,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>
@@ -3130,13 +3167,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>
@@ -3160,7 +3198,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>
@@ -3198,6 +3236,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>
@@ -3207,18 +3246,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 la 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>
@@ -3226,6 +3266,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>
@@ -3249,6 +3292,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>
@@ -3275,7 +3319,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>
@@ -3306,7 +3350,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>
@@ -3336,10 +3380,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>
@@ -3383,16 +3429,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>
@@ -3410,6 +3466,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>
@@ -3440,6 +3497,12 @@
     <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="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>
@@ -3458,7 +3521,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>
@@ -3479,6 +3542,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>
@@ -3540,8 +3604,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>
@@ -3595,6 +3661,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>
@@ -3608,15 +3678,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">
@@ -3659,6 +3734,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>
@@ -3743,8 +3819,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>
@@ -3756,6 +3830,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>
@@ -3767,9 +3842,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>
@@ -3913,8 +3993,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>
@@ -4080,6 +4163,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>
@@ -4143,14 +4228,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>
@@ -4239,8 +4320,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>
@@ -4405,20 +4490,24 @@
     <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="5389656885733341448">"Controlador previo al lanzamiento"</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_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) -->
+    <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>
@@ -4582,7 +4671,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>
@@ -4591,11 +4679,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>
@@ -4605,6 +4690,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>
@@ -4668,6 +4755,13 @@
     <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>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index eaebc99..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Puudub"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Mitte ükski"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM-kaart"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Puudub"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 4715783..48f3c1b 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Nähtavuse ajalõpp"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Lukusta häälvalimine"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Vältige Bluetoothi valija kasutamist, kui ekraan on lukustatud"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-seadmed"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Seadme nimi"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Seadme seaded"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profiili seaded"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Teie rakendused kasutavad akut tavapärases ulatuses. Kui rakendused kasutavad liiga palju akut, soovitab seade teile selle vastu sobilikke meetmeid.\n\nKui aku hakkab tühjaks saama, võite alati akusäästja sisse lülitada."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akuhaldur"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Halda rakendusi automaatselt"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Akukasutuse piiramine rakenduste puhul, mida te ei kasuta sageli"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Kui akuhaldur tuvastab, et rakendused kurnavad akut, on teil võimalik nende rakenduste tööd piirata. Piiratud rakendused ei pruugi korralikult töötada ja märguanded võivad viibida."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Kui akuhaldur tuvastab, et rakendused kurnavad akut, on teil võimalik nende rakenduste tööd piirata. Piiratud rakendused ei pruugi korralikult töötada ja märguanded võivad viibida."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Kui akuhaldur tuvastab, et rakendused kurnavad akut, on teil võimalik nende rakenduste tööd piirata. Piiratud rakendused ei pruugi korralikult töötada ja märguanded võivad viibida."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Akukasutuse piiramine rakenduste puhul, mida te ei kasuta sageli"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Kui akuhaldur tuvastab, et rakendused kurnavad akut, on teil võimalik nende rakenduste tööd piirata. Piiratud rakendused ei pruugi korralikult töötada ja märguanded võivad viibida."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Piiratud rakendused"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Akukasutust piiratakse %1$d rakenduse jaoks</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Need rakendused kasutavad taustal akut. Piiratud rakendused ei pruugi korralikult töötada ja märguanded võivad viibida."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Akuhalduri kasutamine"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Tuvasta, kui rakendused kurnavad akut"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Sees / Tuvastatakse, kui rakendused kurnavad akut"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Sees / Tuvastatakse, kui rakendused kurnavad akut"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Väljas"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d rakendust on piiratud</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Mandaadid pole selle kasutaja jaoks saadaval"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installitud VPN-i ja rakenduste jaoks"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installitud WiFi jaoks"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installiti rakenduse installiallika kinnitamiseks"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Kas eemaldada kogu sisu?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Rakenduse allika 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installite selle sertifikaadi omal vastutusel"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Rakenduse allika sertifikaadid kinnitavad, et rakendused on teie seadmele ohutud. Installige sertifikaate ainult usaldusväärsetelt organisatsioonidelt."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"üks kasutaja sertifikaat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"üks CA-sertifikaat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA-sertifikaati"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"üks rakenduse allika sertifikaat"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Mandaadi üksikasjad"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Mandaat eemaldati: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Ühtegi kasutaja mandaati ei ole installitud"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Sertifikaadi kasutamiseks taaskäivitage"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Selle rakenduse allika sertifikaadi kasutamiseks peate oma seadme taaskäivitama"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Desinstallimise lõpuleviimiseks taaskäivitage"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Selle rakenduse allika sertifikaadi desinstallimiseks peate oma seadme taaskäivitama"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Taaskäivita"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Mitte praegu"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Õigekirjakontroll"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Õigekirjakontroll töö jaoks"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Sisestage oma täieliku varunduse praegune parool siia"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Draiveri eelväljalase"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index 3319c6d..52db9d7 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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Bat ere ez"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Bat ere ez"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Bat ere ez"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 1675c30..da3fdd5 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Ikusgaitasunaren denbora-muga gainditu da"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Blokeatu ahots bidezko markatzea"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Galarazi Bluetooth telefonoa erabiltzea pantaila blokeatuta dagoenean"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth gailuak"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Gailuaren izena"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Gailuaren ezarpenak"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profilaren ezarpenak"</string>
@@ -167,16 +133,16 @@
     <string name="bluetooth_paired_device_title" msgid="3240639218362342026">"Zure gailuak"</string>
     <string name="bluetooth_pairing_page_title" msgid="3403981358823707692">"Parekatu gailu batekin"</string>
     <string name="bluetooth_pref_summary" product="tablet" msgid="3506962706611366830">"Baimendu tabletari inguruko Bluetooth gailuekin komunikatzea"</string>
-    <string name="bluetooth_pref_summary" product="device" msgid="2192027516577675587">"Baimendu gailuari inguruko Bluetooth gailuekin komunikatzea"</string>
+    <string name="bluetooth_pref_summary" product="device" msgid="2192027516577675587">"Eman gailuari inguruko Bluetooth bidezko gailuekin komunikatzeko baimena"</string>
     <string name="bluetooth_pref_summary" product="default" msgid="768958961865499804">"Baimendu telefonoari inguruko Bluetooth gailuekin komunikatzea"</string>
     <string name="bluetooth_disable_a2dp_hw_offload" msgid="5942913792817797541">"Desgaitu Bluetooth A2DP hardwarea deskargatzeko aukera"</string>
     <string name="bluetooth_disable_a2dp_hw_offload_dialog_title" msgid="8610420176339657720">"Gailua berrabiarazi?"</string>
     <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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -788,8 +713,8 @@
     <string name="bluetooth_device_context_connect_advanced" msgid="934657460643490773">"Aukerak…"</string>
     <string name="bluetooth_menu_advanced" msgid="7633682234855216066">"Aurreratuak"</string>
     <string name="bluetooth_advanced_titlebar" msgid="5369701494951467257">"Bluetooth ezarpen aurreratuak"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth aktibatuta badago, inguruko Bluetooth gailuekin komunika daiteke gailua."</string>
-    <string name="bluetooth_scanning_on_info_message" msgid="4069064120315578780">"Bluetooth konexioa aktibatuta dagoenean, inguruko Bluetooth gailuekin komunika daiteke gailua.\n\nGailuaren erabilera hobetzeko, aplikazioek eta zerbitzuek wifi-sareak bilatzen jarraituko dute, baita wifi-konexioa desaktibatuta dagoenean ere. Besteak beste, kokapenean oinarritutako eginbideak eta zerbitzuak hobetzeko erabil daiteke. Aukera hori aldatzeko, joan "<annotation id="link">"gailuak bilatzeko ezarpenetara"</annotation>"."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth-a aktibatuta badago, inguruko Bluetooth bidezko gailuekin komunika daiteke gailua."</string>
+    <string name="bluetooth_scanning_on_info_message" msgid="4069064120315578780">"Bluetooth konexioa aktibatuta dagoenean, inguruko Bluetooth bidezko gailuekin komunika daiteke gailua.\n\nGailuaren erabilera hobetzeko, aplikazioek eta zerbitzuek wifi-sareak bilatzen jarraituko dute, baita wifi-konexioa desaktibatuta dagoenean ere. Besteak beste, kokapenean oinarritutako eginbideak eta zerbitzuak hobetzeko erabil daiteke. Aukera hori aldatzeko, joan "<annotation id="link">"gailuak bilatzeko ezarpenetara"</annotation>"."</string>
     <string name="ble_scan_notify_text" msgid="1358879010396045164">"Kokapenaren zehaztasuna hobetzeko, sistemaren aplikazioek eta zerbitzuek Bluetooth gailuak hautematen jarraituko dute. Hori aldatzeko, zoaz <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>gailuak bilatzeko ezarpenetara<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
     <string name="bluetooth_connect_failed" msgid="7892663424429584925">"Ezin izan da konektatu. Saiatu berriro."</string>
     <string name="device_details_title" msgid="1155622417516195481">"Gailuaren xehetasunak"</string>
@@ -840,16 +765,19 @@
     <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>
@@ -923,8 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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>
@@ -1051,7 +988,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>
@@ -1103,7 +1041,7 @@
     <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>
@@ -1112,6 +1050,17 @@
     <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>
@@ -1138,16 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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_screen_magnification_gestures_title" msgid="3121714118381882167">"Lupa aplikatzeko, sakatu hiru aldiz"</string>
-    <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Aplikatu lupa lasterbidearekin"</string>
-    <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Aplikatu lupa lasterbidearekin / hiru ukitutxorekin"</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 +2136,41 @@
     <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">"Koloreak alderantzikatzeko eginbideak 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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikazioak ohiko bateria kantitatea erabiltzen ari dira. Aplikazioek bateria gehiegi erabiltzen badute, gauzatu ahal dituzun ekintzak iradokitzen ditu gailuak.\n\nBateria gutxi baduzu, bateria-aurrezlea aktibatzeko aukera duzu."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Bateria-kudeatzailea"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Kudeatu aplikazioak automatikoki"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Mugatu gutxi erabiltzen dituzun aplikazioen bateria-erabilera"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Aplikazio batzuk bateria agortzen ari direla hautematen badu bateria-kudeatzaileak, aplikazio horiek mugatzeko aukera izango duzu. Baliteke aplikazio mugatuek behar bezala ez funtzionatzea eta jakinarazpenak atzeratzea."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Aplikazio batzuk bateria agortzen ari direla hautematen badu bateria-kudeatzaileak, aplikazio horiek mugatzeko aukera izango duzu. Baliteke aplikazio mugatuek behar bezala ez funtzionatzea eta jakinarazpenak atzeratzea."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Aplikazio batzuk bateria agortzen ari direla hautematen badu bateria-kudeatzaileak, aplikazio horiek mugatzeko aukera izango duzu. Baliteke aplikazio mugatuek behar bezala ez funtzionatzea eta jakinarazpenak atzeratzea."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Mugatu gutxi erabiltzen dituzun aplikazioen bateria-erabilera"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Aplikazio batzuk bateria agortzen ari direla hautematen badu bateria-kudeatzaileak, aplikazio horiek mugatzeko aukera izango duzu. Baliteke aplikazio mugatuek behar bezala ez funtzionatzea eta jakinarazpenak atzeratzea."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Aplikazio murriztuak"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d aplikazioren bateria-erabilera mugatzen</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Aplikazio hauek bateria erabiltzen aritu dira atzeko planoan. Baliteke aplikazio mugatuek behar bezala ez funtzionatzea eta jakinarazpenak atzeratzea."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Erabili bateria-kudeatzailea"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Hauteman aplikazioak bateria agortzen ari direla"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Aktibatuta / Aplikazioak bateria agortzen ari direla hautematen"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Aktibatuta / Aplikazioak bateria agortzen ari direla hautematen"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Desaktibatuta"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d aplikazio daude murriztuta</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Erabiltzaile honek ez dauka kredentzialik"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN konexioarekin eta aplikazioekin erabiltzeko instalatuta"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi konexioarekin erabiltzeko instalatuta"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Aplikazioak instalatzean iturburua egiaztatu ahal izateko instalatu da"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Eduki guztiak kendu?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Aplikazioen iturburuaren 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Zure ardurapean instalatuko duzu ziurtagiri hau"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Aplikazioak gailuan erabiltzea segurua dela egiaztatzeko balio dute aplikazioen iturburuen ziurtagiriek Erakunde fidagarrien ziurtagiriak soilik instalatu."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"erabiltzaile-ziurtagiri bat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"CA ziurtagiri bat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA ziurtagiri"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"Aplikazioen iturburuaren ziurtagiri bat"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Kredentzialen xehetasunak"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Kendu da kredentziala: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Ez da instalatu erabiltzaile-kredentzialik"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Berrabiarazi ziurtagiria erabiltzeko"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Aplikazioen iturburuaren ziurtagiri hau erabiltzeko, berrabiarazi egin behar duzu gailua"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Instalatzen amaitzeko, berrabiarazi gailua"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Aplikazioaren iturburuaren ziurtagiri hau desinstalatzeko, berrabiarazi egin behar duzu gailua"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Berrabiarazi"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Orain ez"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Ortografia-zuzentzailea"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Ortografia-zuzentzailea lanerako"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Idatzi babeskopia osoa egiteko uneko pasahitza"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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, aurikular euskarridunak, musika, multimedia-edukia"</string>
     <string name="keywords_wallpaper" msgid="6712776876474488023">"atzeko planoa, pantaila, pantaila blokeatua, gaia"</string>
+    <string name="keywords_styles" msgid="6312134005271042434">"ikonoaren forma, nabarmentzeko kolorea, letra-tipoa"</string>
     <string name="keywords_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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Kaleratu aurreko bertsioaren kontrolatzailea"</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_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) -->
+    <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>
@@ -4453,7 +4537,7 @@
     <string name="prevent_ringing_option_mute_summary" msgid="4885288334872920616">"Aktibatuta (audioa desaktibatuta)"</string>
     <string name="prevent_ringing_option_none_summary" msgid="7004926708584574224">"Desaktibatuta"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Sarearen xehetasunak"</string>
-    <string name="about_phone_device_name_warning" msgid="764557372426153827">"Mugikorreko aplikazioek gailuaren izena ikus dezakete. Halaber, jendeak ere ikus dezake Bluetooth gailuetara konektatzean edo Wi-Fi sare publiko bat konfiguratzean."</string>
+    <string name="about_phone_device_name_warning" msgid="764557372426153827">"Mugikorreko aplikazioek gailuaren izena ikus dezakete. Halaber, jendeak ere ikus dezake Bluetooth bidezko gailuetara konektatzean edo wifi-sare publiko bat konfiguratzean."</string>
     <string name="devices_title" msgid="649715719278562515">"Gailuak"</string>
     <string name="homepage_all_settings" msgid="1877827279189801035">"Ezarpen guztiak"</string>
     <string name="homepage_personal_settings" msgid="8312279476519359656">"Iradokizunak"</string>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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 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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index d777ea4..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"خالی"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"خالی"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"سیم کارت"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"سیم‌کارت"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"خالی"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 aaf5c71..a545022 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"وقفه زمانی مرئی بودن"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"قفل کردن شماره گیری صوتی"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"ممانعت از استفاده شماره‌گیر بلوتوث هنگام قفل شدن صفحه"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"دستگاه‌های بلوتوث"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"نام دستگاه"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"تنظیمات دستگاه"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"تنظیمات نمایه"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"زمان کلیک خودکار"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"میزان باتری مصرفی برنامه‌هایتان معمولی است. اگر برنامه‌ها بیش‌ازحد باتری مصرف کنند، دستگاهتان کنش‌هایی پیشنهاد می‌کند که می‌توانید انجام دهید.\n\nاگر باتری رو به اتمام باشد، همیشه می‌توانید «بهینه‌سازی باتری» را روشن کنید."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"مدیر باتری"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"مدیریت خودکار برنامه‌ها"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"محدود کردن باتری برای برنامه‌هایی که زیاد استفاده نمی‌کنید"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"وقتی «مدیر باتری» برنامه‌هایی را شناسایی می‌کند که شارژ باتری را تخلیه می‌کنند می‌توانید انتخاب کنید آن برنامه‌ها را محدود کنید. ممکن است برنامه‌های محدودشده عملکرد درستی نداشته باشند و اعلان‌ها با تأخیر همراه باشد."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"وقتی «مدیر باتری» برنامه‌هایی را شناسایی می‌کند که شارژ باتری را تخلیه می‌کنند می‌توانید انتخاب کنید آن برنامه‌ها را محدود کنید. ممکن است برنامه‌های محدودشده عملکرد درستی نداشته باشند و اعلان‌ها با تأخیر همراه باشد."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"وقتی «مدیر باتری» برنامه‌هایی را شناسایی می‌کند که شارژ باتری را تخلیه می‌کنند می‌توانید انتخاب کنید آن برنامه‌ها را محدود کنید. ممکن است برنامه‌های محدودشده عملکرد درستی نداشته باشند و اعلان‌ها با تأخیر همراه باشد."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"محدود کردن باتری برای برنامه‌هایی که زیاد استفاده نمی‌کنید"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"وقتی «مدیر باتری» برنامه‌هایی را شناسایی می‌کند که شارژ باتری را تخلیه می‌کنند می‌توانید انتخاب کنید آن برنامه‌ها را محدود کنید. ممکن است برنامه‌های محدودشده عملکرد درستی نداشته باشند و اعلان‌ها با تأخیر همراه باشد."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"برنامه‌های محدودشده"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">‏محدود کردن مصرف باتری برای %1$d برنامه</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"این برنامه‌ها در پس‌زمینه از باتری استفاده می‌کند. ممکن است برنامه‌های محدودشده درست کار نکند و اعلان‌هایشان با تأخیر همراه باشد."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"استفاده از مدیر باتری"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"تخلیه شدن شارژ باتری توسط برنامه‌ها شناسایی شود"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"روشن / تخلیه شدن شارژ باتری توسط برنامه‌ها شناسایی می‌شود"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"روشن / تخلیه شدن شارژ باتری توسط برنامه‌ها شناسایی می‌شود"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"خاموش"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">‏%1$d برنامه محدود شد</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"اطلاعات کاربری این کاربر در دسترس نیست"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"‏نصب‌شده برای VPN و برنامه‌ها"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"‏نصب‌شده برای Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"برای تأیید منبع نصب برنامه نصب شد"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"همه محتوا حذف شود؟"</string>
     <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="app_src_certificate" msgid="436410009047766408">"گواهینامه منبع برنامه"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"این گواهینامه را با مسئولیت خودتان نصب کنید"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"گواهینامه‌های منبع برنامه تأیید می‌کنند که برنامه‌ها برای نصب در دستگاهتان ایمن هستند یا نه. فقط گواهینامه‌های مربوط به سازمان‌های مورداعتماد را نصب کنید."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"یک گواهی کاربری"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"‏یک گواهی CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"‏%d گواهی CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"یک گواهینامه منبع برنامه"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"جزئیات اعتبارنامه"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"اعتبارنامه برداشته شد: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"اطلاعات کاربری‌ای نصب نشد"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"بازراه‌اندازی برای استفاده از گواهینامه"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"برای استفاده از این گواهینامه منبع برنامه، باید دستگاهتان را بازراه‌اندازی کنید"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"بازراه‌اندازی برای تکمیل حذف نصب"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"برای حذف نصب این گواهینامه منبع برنامه، باید دستگاهتان را بازراه‌اندازی کنید"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"بازراه‌اندازی"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"حالا نه"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"غلط‌گیر املا"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"غلط‌گیر املا برای کار"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"گذرواژه فعلی پشتیبان‌گیری‌تان را به‌طور کامل اینجا تایپ کنید"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"نمایش در سکوت و اهمیت پایین"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"نمایش به‌صورت بی‌صدا"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"پخش صدا"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"درایور پیش‌انتشار"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index 3df840f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"–"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"–"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ei mitään"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 d69869d..0f827f5 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Näkyvyyden aikakatkaisu"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Lukitse äänipuhelut"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Estä Bluetooth-puhelut kun näyttö on lukittu"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-laitteet"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Laitteen nimi"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Laiteasetukset"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profiilin asetukset"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Sovelluksesi kuluttavat akkua normaalisti. Jos sovellusten virrankulutus on liian suurta, laite ehdottaa mahdollisia toimenpiteitä.\n\nJos akku on vähissä, voit ottaa virransäästön käyttöön."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Virranhallinta"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Hallinnoi sovelluksia automaattisesti"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Rajoita harvoin käytettyjen sovellusten akunkäyttöä."</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Voit rajoittaa sovelluksia, joiden virranhallinta havaitsee käyttävän paljon virtaa. Rajoitetut sovellukset eivät ehkä toimi oikein ja ilmoituksia voidaan näyttää viiveellä."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Voit rajoittaa sovelluksia, joiden virranhallinta havaitsee käyttävän paljon virtaa. Rajoitetut sovellukset eivät ehkä toimi oikein ja ilmoituksia voidaan näyttää viiveellä."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Voit rajoittaa sovelluksia, joiden virranhallinta havaitsee käyttävän paljon virtaa. Rajoitetut sovellukset eivät ehkä toimi oikein ja ilmoituksia voidaan näyttää viiveellä."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Rajoita harvoin käytettyjen sovellusten akunkäyttöä."</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Voit rajoittaa sovelluksia, joiden virranhallinta havaitsee käyttävän paljon virtaa. Rajoitetut sovellukset eivät ehkä toimi oikein ja ilmoituksia voidaan näyttää viiveellä."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Rajoitetut sovellukset"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d sovelluksen akunkäyttöä rajoitetaan</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Nämä sovellukset kuluttavat virtaa taustalla. Rajoitetut sovellukset eivät ehkä toimi oikein ja ilmoituksia voidaan näyttää viiveellä."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Käytä virranhallintaa"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Tunnista akkua kuluttavat sovellukset"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Käytössä / sovellusten runsas akunkäyttö havaitaan"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Käytössä / sovellusten runsas akunkäyttö havaitaan"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Pois käytöstä"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d sovellusta rajoitettu</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Kirjautumistunnukset eivät ole tämän käyttäjän käytettävissä"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Asennettu VPN:ää ja sovelluksia varten"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Asennettu Wi-Fiä varten"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Asennettu sovelluksen asennuslähteen vahvistamiseksi"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Poistetaanko kaikki sisältö?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Sovelluksen lähdevarmenne"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Asennat tämän varmenteen omalla vastuullasi"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Sovelluksen lähdevarmenteilla vahvistetaan, että sovellukset ovat laitteellesi turvallisia. Lataa varmenteita vain tahoilta, joihin luotat."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"yhden käyttäjän varmenne"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"yksi CA-varmenne"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA-varmennetta"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"Yksi sovelluksen lähdevarmenne"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Kirjautumistiedot"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Poistetut kirjautumistiedot: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Ei asennettuja käyttäjän kirjautumistietoja"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Käynnistä uudelleen, käytä varmennetta"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Käyttääksesi sovelluksen lähdevarmennetta sinun on käynnistettävä laite uudelleen."</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Viimeistele poisto käynnistämällä uudelleen"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Poistaaksesi tämän sovelluksen lähdevarmenteen sinun on käynnistettävä laite uudelleen."</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Käynnistä uudelleen"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ei nyt"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Oikeinkirjoituksen tarkistus"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Oikoluku työkäyttöön"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Anna nykyinen varmuuskopioinnin salasana"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Esijulkaisuajuri"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index 1e39dbe..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Aucune"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Aucune"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Aucune"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"Protocole DHCP"</item>
@@ -202,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>
@@ -407,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 f804d88..fe26b60 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Délai de visibilité"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloquer les appels par reconnaissance vocale"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Désactiver les appels via Bluetooth lorsque l\'écran est verrouillé"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Appareils Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nom de l\'appareil"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Paramètres de l\'appareil"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Paramètres du profil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vos applications utilisent une quantité normale d\'énergie. Si les applications utilisent trop d\'énergie, votre appareil vous suggérera des actions à essayer.\n\nVous pouvez toujours activer la fonction Économie d\'énergie si la pile est trop faible."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestionnaire de pile"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gérer les applications automatiquement"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Restreindre l\'usage de la pile pour les applications que vous n\'utilisez pas souvent"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Lorsque le gestionnaire de pile détecte que des applications drainent la pile, il vous offrira la possibilité de les restreindre. Il se peut que les applications restreintes ne fonctionnent pas correctement et que les notifications soient retardées."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Lorsque le gestionnaire de pile détecte que des applications drainent la pile, il vous offrira la possibilité de les restreindre. Il se peut que les applications restreintes ne fonctionnent pas correctement et que les notifications soient retardées."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Lorsque le gestionnaire de pile détecte que des applications drainent la pile, il vous offrira la possibilité de les restreindre. Il se peut que les applications restreintes ne fonctionnent pas correctement et que les notifications soient retardées."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Restreindre l\'usage de la pile pour les applications que vous n\'utilisez pas souvent"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Lorsque le gestionnaire de pile détecte que des applications drainent la pile, il vous offrira la possibilité de les restreindre. Il se peut que les applications restreintes ne fonctionnent pas correctement et que les notifications soient retardées."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Applications restreintes"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Limitation de l\'utilisation de la pile pour %1$d application</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Ces applications ont utilisé la pile en arrière-plan. Il se peut que les applications restreintes ne fonctionnent pas correctement et que les notifications soient retardées."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Utiliser le gestionnaire de pile"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Détecter quand les applications drainent la pile"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Activé : détecte quand les applications drainent la pile"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Activé : détecte quand les applications drainent la pile"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Désactivé"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d application restreinte</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Les identifiants ne sont pas accessibles pour cet utilisateur"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installé pour le RPV et les applications"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installé pour le Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installé pour vérifier la source de l\'installation de l\'application"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Supprimer l\'intégralité du contenu?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificat source de l\'appli"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installez ce certificat à vos propres risques"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Les certificats source d\'application vérifient que les applications sont sécuritaires pour votre appareil. Installez uniquement les certificats provenant d\'organisations en qui vous avez confiance."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"un certificat d\'utilisateur"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"un certificat CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d certificats CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"un certificat source d\'application"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Détails de l\'authentifiant"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"L\'identifiant suivant a été supprimé : <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Aucun authentifiant d\'utilisateur installé"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Redémarrez pour utiliser le certificat"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Pour utiliser ce certificat source d\'application, vous devez redémarrer votre appareil"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Redémarrer pour terminer la désinstallation"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Pour désinstaller ce certificat source d\'application, vous devez redémarrer votre appareil"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Redémarrer"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Pas maintenant"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Correcteur orthographique"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Correcteur orthographique pour le travail"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Saisissez votre mot de passe actuel pour les sauvegardes complètes."</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Pilote de version préliminaire"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 4ffe8f2..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Aucun"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Aucune"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Aucun"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"Protocole DHCP"</item>
@@ -202,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>
@@ -407,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 0e3cca8..505d2b0 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Délai de visibilité"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloquer les appels par reconnaissance vocale"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Désactiver les appels via le Bluetooth lorsque l\'écran est verrouillé"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Appareils Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nom de l\'appareil"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Paramètres de l\'appareil"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Paramètres du profil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vos applications utilisent une quantité normale d\'énergie. Si elles sollicitent trop la batterie, votre téléphone vous suggérera des mesures à prendre.\n\nSi le niveau de votre batterie est faible, vous pouvez également activer l\'économiseur de batterie."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestionnaire de batterie"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gérer les applications automatiquement"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limiter l\'utilisation de la batterie pour les applications peu utilisées"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Si le gestionnaire de batterie détecte que certaines applications déchargent la batterie, vous pouvez choisir de limiter ces applications. Les applications auxquelles une restriction est appliquée peuvent ne pas fonctionner correctement et leurs notifications risquent d\'être retardées."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Si le gestionnaire de batterie détecte que certaines applications déchargent la batterie, vous pouvez choisir de limiter ces applications. Les applications auxquelles une restriction est appliquée peuvent ne pas fonctionner correctement et leurs notifications risquent d\'être retardées."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Si le gestionnaire de batterie détecte que certaines applications déchargent la batterie, vous pouvez choisir de limiter ces applications. Les applications auxquelles une restriction est appliquée peuvent ne pas fonctionner correctement et leurs notifications risquent d\'être retardées."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limiter l\'utilisation de la batterie pour les applications peu utilisées"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Si le gestionnaire de batterie détecte que certaines applications déchargent la batterie, vous pouvez choisir de limiter ces applications. Les applications auxquelles une restriction est appliquée peuvent ne pas fonctionner correctement et leurs notifications risquent d\'être retardées."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Applications dont l\'accès est limité"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Limitation de l\'utilisation de la batterie pour %1$d application</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Ces applications utilisent la batterie en arrière-plan. Les applications dont l\'accès est limité peuvent ne pas fonctionner correctement et leurs notifications risquent d\'être retardées."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Utiliser le gestionnaire de batterie"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Détecter les applications qui déchargent la batterie"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Activé - Détection des applications qui déchargent la batterie"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Activé - Détection des applications qui déchargent la batterie"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Désactivé"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d application limitée</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Les identifiants ne sont pas disponibles pour cet utilisateur."</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installé pour le VPN et les applications"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installé pour le Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installé pour valider la source de l\'installation de l\'application"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Supprimer l\'intégralité du contenu ?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificat de source d\'appli"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installer ce certificat à vos propres risques"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Les certificats de source d\'application valident que les applications ne présentent pas de risque pour votre appareil. Installez uniquement les certificats provenant d\'organisations en qui vous avez confiance."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"un certificat utilisateur"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"un certificat CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d certificats CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"un certificat de source d\'application"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Informations sur les identifiants"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"L\'identifiant suivant a été supprimé : <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>."</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Aucun identifiant de l\'utilisateur n\'est installé"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Redémarrer pour utiliser le certificat"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Pour utiliser ce certificat de source d\'application, vous devez redémarrer l\'appareil"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Redémarrer pour terminer l\'installation"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Pour désinstaller ce certificat de source d\'application, vous devez redémarrer l\'appareil"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Redémarrer"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Pas maintenant"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Correcteur orthographique"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Correcteur orthographique pour le travail"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Saisissez le mot de passe de sauvegarde complète actuel."</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Pilote de version préliminaire"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index 125a7cf..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ningunha"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ningún"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ningún"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 ba2fe04..aaf96b4 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Tempo de visibilidade"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloquear marcación por voz"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Evita o uso do marcador Bluetooth cando a pantalla está bloqueada"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Dispositivos Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nome do dispositivo"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Configuración do dispositivo"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Configuración do perfil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"As túas aplicacións consomen unha cantidade normal de batería. Cando consuman demasiada, o teu dispositivo suxerirá as accións que podes levar a cabo.\n\nSe tes pouca batería, sempre podes activar a función Aforro de batería."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Xestor de batería"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Xestionar aplicacións automaticamente"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limita o uso de batería das aplicacións que utilizas con pouca frecuencia"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Cando o xestor de batería detecte que as aplicacións están consumindo batería, terás a posibilidade de restrinxilas. É posible que as aplicacións restrinxidas non funcionen de forma adecuada e que as notificacións se atrasen."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Cando o xestor de batería detecte que as aplicacións están consumindo batería, terás a posibilidade de restrinxilas. É posible que as aplicacións restrinxidas non funcionen de forma adecuada e que as notificacións se atrasen."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Cando o xestor de batería detecte que as aplicacións están consumindo batería, terás a posibilidade de restrinxilas. É posible que as aplicacións restrinxidas non funcionen de forma adecuada e que as notificacións se atrasen."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limita o uso de batería das aplicacións que utilizas con pouca frecuencia"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Cando o xestor de batería detecte que as aplicacións están consumindo batería, terás a posibilidade de restrinxilas. É posible que as aplicacións restrinxidas non funcionen de forma adecuada e que as notificacións se atrasen."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Aplicacións restrinxidas"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Limitando o uso de batería para %1$d aplicacións</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Estas aplicacións consumiron batería en segundo plano. É posible que as aplicacións restrinxidas non funcionen de forma adecuada e que as notificacións se atrasen."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Utilizar o xestor de batería"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detecta se as aplicacións consomen batería"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Activado/Detección das aplicacións que esgotan a batería"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Activado/Detección das aplicacións que esgotan a batería"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Desactivado"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">Restrinxíronse %1$d aplicacións</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"As credenciais non están dispoñibles para este usuario"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalada para a VPN e as aplicacións"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalada para a wifi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instalouse para verificar a orixe da instalación das aplicacións"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Queres eliminar todos os contidos?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificado de orixe das apps"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instala o certificado baixo a túa responsabilidade"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Os certificados de orixe das aplicacións permiten verificar que as aplicacións sexan seguras para o teu dispositivo. Instala só os certificados das organizacións nas que confíes."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"un certificado de usuario"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"un certificado de CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d certificados de CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"un certificado de orixe das aplicacións"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detalles das credenciais"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Credencial eliminada: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Non hai credenciais de usuario instaladas"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Reinicia para utilizar o certificado"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Para utilizar este certificado de orixe das aplicacións, debes reiniciar o teu dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Reinicia para completar a desinstalación"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Para desinstalar este certificado de orixe das aplicacións, debes reiniciar o teu dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Reiniciar"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Agora non"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Corrector ortográfico"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Corrector ortográfico para o traballo"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Escribe aquí o contrasinal actual da copia de seguranza completa"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,26 @@
     <string name="smart_notifications_title" msgid="8995288376897952015">"Notificacións automáticas"</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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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 automáticas"</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>
@@ -3479,6 +3537,7 @@
     <string name="notification_assistant_title" msgid="6983941403582134437">"Notificacións automáticas"</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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Controlador de proba"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index 12ea291..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"કોઈ નહીં"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"કોઈ નહીં"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"સિમ"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"સિમ"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"કોઈ નહીં"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 2d3e452..c558256 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"દૃશ્યતાની સમયસમાપ્તિ"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"વૉઇસ ડાયલિંગ લૉક કરો"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"જ્યારે સ્ક્રીન લૉક થયેલ હોય ત્યારે બ્લૂટૂથ ડાયલરના ઉપયોગને અટકાવો"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"બ્લૂટૂથ ઉપકરણો"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ઉપકરણનું નામ"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"ઉપકરણ સેટિંગ્સ"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"પ્રોફાઇલ સેટિંગ્સ"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"હૉટસ્પૉટ ચાલુ છે"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ટિથરિંગ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ડેટા સેવર ચાલુ હોય તે વખતે ટીથર કરી શકતાં નથી અથવા તો પોર્ટેબલ હોટસ્પોટ્સનો ઉપયોગ કરી શકતાં નથી"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"ઑટો ક્લિકનો સમય"</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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"તમારી બધી ઍપ બૅટરીનો વપરાશ સામાન્ય પ્રમાણમાં કરી રહી છે. જો તે બૅટરીનો ઘણો વધુ વપરાશ કરવા માંડશે, તો તમારું ઉપકરણ તમે શું ઍક્શન લઈ શકો તે સૂચવશે.\n\nજો તમારી પાસે બૅટરીમાં ચાર્જ ઓછો રહ્યો હોય, તો તમે કોઈપણ સમયે બૅટરી સેવર ચાલુ કરી શકો છો."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"બૅટરી મેનેજર"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ઍપને આપમેળે મેનેજ કરો"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"જે ઍપનો તમે ઓછો ઉપયોગ કરતા હો, તેના માટે બૅટરી મર્યાદિત કરો"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"જ્યારે બૅટરી મેનેજર શોધે છે કે ઍપ બૅટરીનો અતિશય ઉપયોગ કરી રહી છે, ત્યારે તમારી પાસે આ ઍપને પ્રતિબંધિત કરવાનો વિકલ્પ હશે. પ્રતિબંધિત ઍપ યોગ્ય રીતે કાર્ય નહીં કરી શકે અને નોટિફિકેશન વિલંબિત થઈ શકે છે."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"જ્યારે બૅટરી મેનેજર શોધે છે કે ઍપ બૅટરીનો અતિશય ઉપયોગ કરી રહી છે, ત્યારે તમારી પાસે આ ઍપને પ્રતિબંધિત કરવાનો વિકલ્પ હશે. પ્રતિબંધિત ઍપ યોગ્ય રીતે કાર્ય નહીં કરી શકે અને નોટિફિકેશન વિલંબિત થઈ શકે છે."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"જ્યારે બૅટરી મેનેજર શોધે છે કે ઍપ બૅટરીનો અતિશય ઉપયોગ કરી રહી છે, ત્યારે તમારી પાસે આ ઍપને પ્રતિબંધિત કરવાનો વિકલ્પ હશે. પ્રતિબંધિત ઍપ યોગ્ય રીતે કાર્ય નહીં કરી શકે અને નોટિફિકેશન વિલંબિત થઈ શકે છે."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"જે ઍપનો તમે ઓછો ઉપયોગ કરતા હો, તેના માટે બૅટરી મર્યાદિત કરો"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"જ્યારે બૅટરી મેનેજર શોધે છે કે ઍપ બૅટરીનો અતિશય ઉપયોગ કરી રહી છે, ત્યારે તમારી પાસે આ ઍપને પ્રતિબંધિત કરવાનો વિકલ્પ હશે. પ્રતિબંધિત ઍપ યોગ્ય રીતે કાર્ય નહીં કરી શકે અને નોટિફિકેશન વિલંબિત થઈ શકે છે."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"પ્રતિબંધિત ઍપ"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">%1$d ઍપ માટે બૅટરી વપરાશ મર્યાદિત કરીએ છીએ</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"આ ઍપ બૅકગ્રાઉન્ડમાં બૅટરી વાપરી રહી છે. પ્રતિબંધિત ઍપ યોગ્ય રીતે કાર્ય કરશે નહીં અને નોટિફિકેશનમાં વિલંબ થઈ શકે છે."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"બૅટરી મેનેજરનો ઉપયોગ કરો"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"જ્યારે ઍપ બૅટરીનો અતિશય ઉપયોગ કરે, ત્યારે જાણકારી મેળવો"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ચાલુ / ઍપ બૅટરીનો ક્યારે અતિશય ઉપયોગ કરે છે તેની જાણકારી મેળવી રહ્યાં છીએ"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ચાલુ / ઍપ બૅટરીનો ક્યારે અતિશય ઉપયોગ કરે છે તેની જાણકારી મેળવી રહ્યાં છીએ"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"બંધ કરો"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d ઍપ પ્રતિબંધિત છે</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"આ વપરાશકર્તા માટે ઓળખપત્રો ઉપલબ્ધ નથી"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN અને ઍપ્લિકેશનો માટે ઇન્સ્ટૉલ કરેલ"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"વાઇ-ફાઇ માટે ઇન્સ્ટૉલ કરેલ"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ઇન્સ્ટૉલ ઍપ સ્રોતની ચકાસણી માટે લૉગ ઇન વિગતો ઇન્સ્ટૉલ કરી"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"તમામ કન્ટેન્ટ દૂર કરીએ?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ઍપ સ્રોતનું પ્રમાણપત્ર"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"તમારા પોતાના જોખમે આ પ્રમાણપત્ર ઇન્સ્ટૉલ કરો"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"ઍપ સ્રોતનું પ્રમાણપત્ર ચકાસે છે કે તમારા ડિવાઇસ માટે ઍપ સુરક્ષિત છે. તમે વિશ્વાસ કરતા હો ફક્ત તે સંસ્થાઓના પ્રમાણપત્ર ઇન્સ્ટૉલ કરો."</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"એક વપરાશકર્તા પ્રમાણપત્ર"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"એક CA પ્રમાણપત્ર"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA પ્રમાણપત્રો"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ઍપ સ્રોતનું એક પ્રમાણપત્ર"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ઓળખપત્રની વિગતો"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ઓળખપત્ર દૂર કર્યા: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"કોઈ વપરાશકર્તા ઓળખપત્રો ઇન્સ્ટૉલ કર્યા નથી"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"પ્રમાણપત્રનો ઉપયોગ કરવા માટે ફરી શરુ કરો"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"આ ઍપ સ્રોત પ્રમાણપત્રનો ઉપયોગ કરવા માટે, તમારે તમારું ડિવાઇસ ફરી શરુ કરવું જરૂરી છે"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"અનઇન્સ્ટૉલ કરવાનું પૂર્ણ કરવા ફરીથી શરુ કરો"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"આ ઍપ સ્રોતનું પ્રમાણપત્ર અનઇન્સ્ટૉલ કરવા માટે, તમારે તમારું ડિવાઇસ ફરી શરુ કરવું જરૂરી છે"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ફરી શરૂ કરો"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"હમણાં નહીં"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"જોડણીકોશ"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"કાર્ય માટે જોડણી તપાસનાર"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"તમારો વર્તમાન પૂર્ણ બેકઅપ પાસવર્ડ અહીં દાખલ કરો"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,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>
@@ -3130,13 +3167,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>
@@ -3160,7 +3198,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>
@@ -3198,6 +3236,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>
@@ -3207,18 +3246,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>
@@ -3226,6 +3266,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>
@@ -3249,6 +3292,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>
@@ -3275,7 +3319,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>
@@ -3306,7 +3350,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>
@@ -3336,10 +3380,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>
@@ -3383,16 +3429,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>
@@ -3410,6 +3466,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>
@@ -3440,6 +3497,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"ચુપચાપ બતાવો અને નાનું કરો"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ચુપચાપ બતાવો"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"અવાજ કરો"</string>
@@ -3458,7 +3521,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>
@@ -3479,6 +3542,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>
@@ -3540,8 +3604,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>
@@ -3595,6 +3661,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>
@@ -3608,15 +3678,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">
@@ -3659,6 +3734,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>
@@ -3743,8 +3819,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 +3830,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 +3842,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>
@@ -3913,8 +3993,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 +4163,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>
@@ -4143,14 +4228,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 +4320,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>
@@ -4405,20 +4490,24 @@
     <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="5389656885733341448">"પ્રીરિલીઝ ડ્રાઇવર"</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_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) -->
+    <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>
@@ -4582,7 +4671,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 +4679,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>
@@ -4605,6 +4690,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>
@@ -4668,6 +4755,13 @@
     <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>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index f89016c..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"कुछ नहीं"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"कोई नहीं"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"कोई नहीं"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 ccaa306..ee36579 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"ब्लूटूथ में खोजने का टाइम आउट"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ध्‍वनि डायलिंग लॉक करें"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"जब स्‍क्रीन लॉक हो, तो bluetooth डायलर के उपयोग को रोकें"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ब्लूटूथ डिवाइस"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"डिवाइस का नाम"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"डिवाइस सेटिंग"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"प्रोफ़ाइल सेटिंग"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,20 @@
     <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>
+    <!-- no translation found for nfc_secure_settings_title (4906958426927741485) -->
+    <skip />
     <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 +852,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 +863,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 +871,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>
@@ -966,12 +897,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 +917,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 +937,8 @@
     <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>
+    <!-- no translation found for wifi_no_user_cert_warning (8466376918835248956) -->
+    <skip />
     <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 +990,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 +1043,8 @@
     <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>
+    <!-- no translation found for wifi_hotspot_auto_off_summary (8283656069997871354) -->
+    <skip />
     <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 +1053,20 @@
     <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>
+    <!-- no translation found for wifi_add_app_single_network_summary (8455616967601552440) -->
+    <skip />
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"सेव किया जा रहा है…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"सेव किया गया"</string>
+    <!-- no translation found for wifi_add_app_network_save_failed_summary (7223817782309294652) -->
+    <skip />
+    <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>
+    <!-- no translation found for wifi_add_app_networks_summary (2088967184512169910) -->
+    <skip />
+    <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,19 @@
     <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>
+    <!-- no translation found for wifi_disconnected_from (5249576734324159708) -->
+    <skip />
     <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 +1230,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 +1253,8 @@
     <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>
+    <!-- no translation found for style_suggestion_title (1213747484782364775) -->
+    <skip />
     <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">"वाई-फ़ाई, मोबाइल और ब्लूटूथ रीसेट करें"</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,9 @@
     <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="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 +1726,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 +1734,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>
@@ -1897,7 +1867,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 +2067,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 +2075,65 @@
     <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>
+    <!-- no translation found for accessibility_introduction_title (8834950581512452348) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_shortcut_title (8125867833704517463) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_summary_software (2820923641553461297) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software_gesture (8078659880723370597) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software_gesture_talkback (7422753388389160524) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software (4796192466943479849) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software (8922102767509399352) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_gesture (7019216141092205215) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_gesture_talkback (5967787136477866253) -->
+    <skip />
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"आवाज़ कम-ज़्यादा करने वाले बटन दबाकर रखें"</string>
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_hardware (7318273124091000632) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_triple_tap (6672798007229795841) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_triple_tap (3081710523998838305) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_shortcut_settings (836783442658447995) -->
+    <skip />
     <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,46 @@
     <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>
+    <!-- no translation found for accessibility_display_inversion_switch_title (7458595722552743503) -->
+    <skip />
+    <string name="accessibility_display_inversion_preference_subtitle" msgid="7230891925207955620">"रंग बदलने की सुविधा से, हल्के रंग की स्क्रीन गहरे रंग में बदल जाती हैं. इससे उन लोगों को आसानी होती है जिन्हें तेज़ रोशनी से दिक्कत होती है.&lt;br/&gt;&lt;br/&gt;ध्यान दें: गहरे रंग थोड़े हल्के हो जाएंगे. मीडिया और इमेज में रंग बदल जाएंगे. आप गहरे रंग वाली थीम (सेटिंग &gt; डिसप्ले) का भी इस्तेमाल कर सकते हैं."</string>
+    <string name="accessibility_autoclick_preference_title" msgid="3189216839673212851">"ऑटो क्लिक (ड्वेल टाइम)"</string>
     <string name="accessibility_autoclick_description" msgid="1824668430472936549">"अगर आप माउस इस्तेमाल कर रहे हैं तो, सेट कर सकते हैं कि किसी जगह पर एक तय समय तक रुकने के बाद कर्सर अपने आप कार्रवाई करे."</string>
-    <string name="accessibility_autoclick_delay_preference_title" msgid="8631645324295801612">"क्लिक करने से पहले का विलंब"</string>
+    <!-- no translation found for accessibility_autoclick_default_title (2060909980831267041) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_autoclick_shorter_desc (7631013255724544348) -->
+    <skip />
+    <!-- no translation found for accessibility_autoclick_longer_desc (2566025502981487443) -->
+    <skip />
+    <!-- no translation found for accessibility_autoclick_seekbar_desc (2370077188725433271) -->
+    <skip />
     <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_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,26 +2208,18 @@
     <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>
-    </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>
-    <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>
-    <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>
-    <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>
+    <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>
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_extremely_short_delay (8226135362782015387) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_very_short_delay (4440667435012753839) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_short_delay (1627969745093865560) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_long_delay (1126608261854734991) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_very_long_delay (6624972454933133135) -->
+    <!-- no translation found for accessibilty_autoclick_delay_unit_second (8132935106204075064) -->
     <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>
     <string name="accessibility_vibration_summary_low" msgid="6482721005400340317">"घंटी बजने और सूचना आने के लिए वाइब्रेशन, कम पर सेट है"</string>
@@ -2394,10 +2416,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"आपके ऐप्लिकेशन सामान्य रूप से बैटरी इस्तेमाल कर रहे हैं. अगर ऐप्लिकेशन ज़्यादा बैटरी खर्च करने लगें, तो डिवाइस बैटरी बचाने के लिए सुझाव देगा.\n\nअगर डिवाइस की बैटरी खत्म होने वाली हो, तो आप बैटरी सेवर चालू कर सकते हैं."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"बैटरी मैनेजर"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ऐप्लिकेशन अपने आप प्रबंधित होने की सुविधा"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"अक्सर इस्तेमाल न किए जाने वाले ऐप्लिकेशन को ज़्यादा बैटरी इस्तेमाल करने से रोकें"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"जब बैटरी मैनेजर यह पता लगाता है कि ऐप्लिकेशन ज़्यादा बैटरी खर्च कर रहे हैं तो, आपके पास इन ऐप्लिकेशन को बैटरी इस्तेमाल करने से रोकने का विकल्प होता है. हो सकता है कि ये ऐप्लिकेशन ठीक तरह से काम न करें और उनके बारे में सूचनाएं देर से मिलें."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"जब बैटरी मैनेजर यह पता लगाता है कि ऐप्लिकेशन ज़्यादा बैटरी खर्च कर रहे हैं तो, आपके पास इन ऐप्लिकेशन को बैटरी इस्तेमाल करने से रोकने का विकल्प होता है. हो सकता है कि ये ऐप्लिकेशन ठीक तरह से काम न करें और उनके बारे में सूचनाएं देर से मिलें."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"जब बैटरी मैनेजर यह पता लगाता है कि ऐप्लिकेशन ज़्यादा बैटरी खर्च कर रहे हैं तो, आपके पास इन ऐप्लिकेशन को बैटरी इस्तेमाल करने से रोकने का विकल्प होता है. हो सकता है कि ये ऐप्लिकेशन ठीक तरह से काम न करें और उनके बारे में सूचनाएं देर से मिलें."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"अक्सर इस्तेमाल न किए जाने वाले ऐप्लिकेशन को ज़्यादा बैटरी इस्तेमाल करने से रोकें"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"जब बैटरी मैनेजर यह पता लगाता है कि ऐप्लिकेशन ज़्यादा बैटरी खर्च कर रहे हैं तो, आपके पास इन ऐप्लिकेशन को बैटरी इस्तेमाल करने से रोकने का विकल्प होता है. हो सकता है कि ये ऐप्लिकेशन ठीक तरह से काम न करें और उनके बारे में सूचनाएं देर से मिलें."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"पाबंदी वाले ऐप्लिकेशन"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">%1$d ऐप्लिकेशन के लिए बैटरी के इस्तेमाल पर रोक लगाई जा रही है</item>
@@ -2407,7 +2427,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ये ऐप्लिकेशन बैकग्राउंड में बैटरी इस्तेमाल करते रहे हैं. जिन ऐप्लिकेशन पर रोक लगाई गई है, हो सकता है कि वे ठीक तरह से काम न करें और उनके बारे में सूचनाएं देर से मिलें."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"बैटरी मैनेजर का इस्तेमाल करें"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"ऐप्लिकेशन के ज़्यादा बैटरी खर्च करने पर सूचना पाएं"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"चालू है / ऐप्लिकेशन के ज़्यादा बैटरी खर्च करने पर सूचना पाना"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"चालू है / ऐप्लिकेशन के ज़्यादा बैटरी खर्च करने पर सूचना पाना"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"बंद है"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d ऐप्लिकेशन पर रोक लगाई गई</item>
@@ -2515,7 +2535,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>
@@ -2596,8 +2615,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>
@@ -2613,10 +2631,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"इस उपयोगकर्ता के लिए क्रेडेंशियल मौजूद नहीं हैं"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN और ऐप्लिकेशन के लिए इंस्टॉल किया गया"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"वाई-फ़ाई के लिए इंस्टॉल किया गया"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ऐप्लिकेशन इंस्टॉल करने के स्रोत की पुष्टि के लिए क्रेडेंशियल इंस्टॉल किया गया"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"सभी सामग्री हटाएं?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ऐप्लिकेशन के स्रोत का प्रमाणपत्र"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"अपने जोखिम पर इस प्रमाणपत्र को इंस्टॉल करें"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"ऐप्लिकेशन के स्रोत के प्रमाणपत्र से इस बात की पुष्टि होती है कि ऐप्लिकेशन आपके डिवाइस के लिए सुरक्षित हैं. सिर्फ़ उन संगठनों से मिले प्रमाणपत्र इंस्टॉल करें जिन पर आप भरोसा करते हैं."</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>
@@ -2644,10 +2674,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>
@@ -2661,6 +2687,11 @@
     <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>
+    <!-- no translation found for notification_history_count (1859304685071321991) -->
     <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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"एक उपयोगकर्ता प्रमाणपत्र"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"एक CA प्रमाणपत्र"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA प्रमाणपत्र"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ऐप्लिकेशन के स्रोत का एक प्रमाणपत्र"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"क्रेडेंशियल की पूरी जानकारी"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"क्रेडेंशियल निकाला गया: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"कोई यूज़र क्रेडेंशियल इंस्टॉल नहीं किया गया है"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"प्रमाणपत्र इस्तेमाल करने के लिए रीस्टार्ट करें"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"ऐप्लिकेशन के स्रोत के इस प्रमाणपत्र का इस्तेमाल करने के लिए आपको अपना डिवाइस रीस्टार्ट करना होगा"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"अनइंस्टॉल पूरा करने के लिए रीस्टार्ट करें"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"ऐप्लिकेशन के स्रोत के इस प्रमाणपत्र को अनइंस्टॉल करने के लिए आपको अपना डिवाइस रीस्टार्ट करना होगा"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"रीस्टार्ट करें"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"अभी नहीं"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"स्पेलिंग जाँचने वाला"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"काम के लिए स्पेलिंग जांचने वाली सुविधा"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"अपना वर्तमान पूरा बैकअप पासवर्ड यहां लिखें"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,8 @@
     <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>
+    <!-- no translation found for nfc_and_payment_settings_payment_off_nfc_off_summary (7132040463607801625) -->
+    <skip />
     <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>
@@ -3130,13 +3168,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>
@@ -3160,7 +3199,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>
@@ -3198,6 +3237,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>
@@ -3207,18 +3247,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>
@@ -3226,6 +3267,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>
@@ -3249,6 +3293,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>
@@ -3275,7 +3320,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>
@@ -3306,7 +3351,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>
@@ -3336,10 +3381,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>
@@ -3383,16 +3430,33 @@
     <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>
+    <!-- no translation found for notification_history_summary (6821337322742231789) -->
+    <skip />
+    <!-- no translation found for notification_history (8663811361243456201) -->
+    <skip />
+    <!-- no translation found for notification_history_turn_on (3298178949776249681) -->
+    <skip />
+    <!-- no translation found for notification_history_turn_off (3141050596252009528) -->
+    <skip />
+    <!-- no translation found for notification_history_off_title_extended (2174043349602912717) -->
+    <skip />
+    <!-- no translation found for notification_history_view_settings (5269317798670449002) -->
+    <skip />
     <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>
+    <!-- no translation found for bubbles_conversation_toggle_summary (7518341992582158610) -->
+    <skip />
     <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>
@@ -3410,6 +3474,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>
@@ -3440,6 +3505,18 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"व्यवहार"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"आवाज़ की अनुमति दें"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"सूचनाएं कभी न दिखाएं"</string>
+    <!-- no translation found for conversations_category_title (5586541340846847798) -->
+    <skip />
+    <!-- no translation found for conversation_category_title (6777135786004214149) -->
+    <skip />
+    <!-- no translation found for demote_conversation_title (6355383023376508485) -->
+    <skip />
+    <!-- no translation found for demote_conversation_summary (4319929331165604112) -->
+    <skip />
+    <!-- no translation found for promote_conversation_title (4731148769888238722) -->
+    <skip />
+    <!-- no translation found for promote_conversation_summary (3890724115743515035) -->
+    <skip />
     <string name="notification_importance_min" msgid="4609688642942787774">"बिना आवाज़ के दिखाएं और छोटा करें"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"बिना आवाज़ के दिखाएं"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"रिंगटोन सेट करें"</string>
@@ -3458,7 +3535,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>
@@ -3479,6 +3556,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>
@@ -3540,8 +3618,13 @@
     <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>
+    <!-- no translation found for notification_vibrate_title (1422330728336623351) -->
+    <skip />
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"आवाज़"</string>
+    <!-- no translation found for notification_conversation_important (3502749563429704283) -->
+    <skip />
+    <!-- no translation found for notification_conversation_add_to_home (8136269431130231389) -->
+    <skip />
     <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>
@@ -3595,6 +3678,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>
@@ -3608,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">
@@ -3659,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">"व्यवस्थापक पिन डालें"</string>
     <string name="switch_on_text" msgid="5664542327776075105">"चालू"</string>
@@ -3743,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>
@@ -3756,6 +3847,8 @@
     <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>
+    <!-- no translation found for app_permissions_summary_more (6247952473615352350) -->
+    <skip />
     <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 +3860,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>
@@ -3913,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>
@@ -4080,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="one">%d दिन बचे हैं</item>
       <item quantity="other">%d दिन बचे हैं</item>
@@ -4143,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>
@@ -4239,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>
@@ -4405,20 +4508,33 @@
     <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) -->
+    <!-- no translation found for graphics_driver_dashboard_title (5661084817492587796) -->
+    <skip />
+    <!-- no translation found for graphics_driver_dashboard_summary (6348759885315793654) -->
+    <skip />
+    <!-- no translation found for graphics_driver_footer_text (5123754522284046790) -->
+    <skip />
+    <!-- no translation found for graphics_driver_all_apps_preference_title (1343065382898127360) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_title (3133255818657706857) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_default (764432460281859855) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_game_driver (3115277644656023504) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_prerelease_driver (5389656885733341448) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_system (3754748149113184126) -->
+    <skip />
+    <!-- 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_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) -->
+    <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>
@@ -4582,7 +4698,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 +4706,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>
@@ -4605,6 +4717,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>
@@ -4668,6 +4782,13 @@
     <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>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index 99706ac..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Nijedan"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ništa"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ništa"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 90e5079..6328cb7 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>
@@ -100,7 +67,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Vidljivost je istekla"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Zaključaj biranje glasom"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Spriječite upotrebu Bluetooth birača ako je zaslon zaključan"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth uređaji"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Naziv uređaja"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Postavke uređaja"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Postavke profila"</string>
@@ -175,9 +141,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 +176,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 +217,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 +235,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 +242,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 +285,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 +315,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 +623,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 +659,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>
@@ -856,16 +782,19 @@
     <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 +868,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 +879,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 +887,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>
@@ -982,12 +913,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 +933,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 +953,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 +1008,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 +1061,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 +1070,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 +1107,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 +1243,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 +1266,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 +1356,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 +1383,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 +1596,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 +1646,9 @@
     <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="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 +1740,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 +1748,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>
@@ -1919,7 +1882,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 +2082,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 +2090,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 +2159,41 @@
     <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="2370077188725433271">"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_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 +2206,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>
@@ -2429,10 +2445,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vaše aplikacije troše bateriju uobičajenom brzinom. Ako aplikacije budu prebrzo trošile bateriju, uređaj će vam predložiti što biste mogli poduzeti.\n\nAko je razina baterije niska, možete uključiti Štednju baterije."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatski upravljaj aplikacijama"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Ograničava potrošnju baterije za aplikacije koje ne upotrebljavate često"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Kada Battery Manager otkrije da aplikacije prazne bateriju, moći ćete ograničiti te aplikacije. Ograničene aplikacije možda neće funkcionirati pravilno i obavijesti mogu kasniti."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Kada Battery Manager otkrije da aplikacije prazne bateriju, moći ćete ograničiti te aplikacije. Ograničene aplikacije možda neće funkcionirati pravilno i obavijesti mogu kasniti."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Kada Battery Manager otkrije da aplikacije prazne bateriju, moći ćete ograničiti te aplikacije. Ograničene aplikacije možda neće funkcionirati pravilno i obavijesti mogu kasniti."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Ograničava potrošnju baterije za aplikacije koje ne upotrebljavate često"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Kada Battery Manager otkrije da aplikacije prazne bateriju, moći ćete ograničiti te aplikacije. Ograničene aplikacije možda neće funkcionirati pravilno i obavijesti mogu kasniti."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Ograničene aplikacije"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Ograničavanje potrošnje baterije za %1$d aplikaciju</item>
@@ -2443,7 +2457,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Te su aplikacije trošile bateriju u pozadini. Ograničene aplikacije možda neće funkcionirati pravilno i obavijesti mogu kasniti."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Upotreba Battery Managera"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Otkriva kada aplikacije prazne bateriju"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Uključeno/otkriva se kada aplikacije prazne bateriju"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Uključeno/otkriva se kada aplikacije prazne bateriju"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Isključeno"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">Ograničena je %1$d aplikacija</item>
@@ -2552,7 +2566,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>
@@ -2633,8 +2646,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>
@@ -2650,10 +2662,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Za ovog korisnika nisu dostupne vjerodajnice"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalirano za VPN i aplikacije"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalirano za Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instalirano za potvrdu izvora instalacije aplikacije"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Ukloniti sve sadržaje?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certifikat App Source"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Ovaj certifikat instalirate na vlastiti rizik"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Certifikati izvora aplikacije potvrđuju da su aplikacije sigurne za vaš uređaj. Instalirajte certifikate samo od organizacija kojima vjerujete."</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>
@@ -2681,10 +2705,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>
@@ -2698,6 +2718,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>
@@ -2930,9 +2959,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"jedan korisnički certifikat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"jedan CA certifikat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA certifikati"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"jedan certifikat App Source"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Pojedinosti o vjerodajnicama"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Uklonjena vjerodajnica: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nema instaliranih korisničkih vjerodajnica"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Ponovo pokr. da biste koristili certifikat"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Da biste koristili ovaj certifikat izvora aplikacije, morate ponovo pokrenuti uređaj"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Ponovo pokrenite da biste dovršili deinstal."</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Da biste deinstalirali ovaj certifikat izvora aplikacije, morate ponovo pokrenuti uređaj"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Ponovno pokreni"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ne sada"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Provjera pravopisa"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Provjera pravopisa za posao"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Ovdje unesite trenutačnu zaporku za potpunu sigurnosnu kopiju"</string>
@@ -3051,7 +3087,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>
@@ -3120,7 +3155,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>
@@ -3130,6 +3164,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>
@@ -3143,7 +3178,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>
@@ -3162,6 +3196,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>
@@ -3172,13 +3207,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>
@@ -3202,7 +3238,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>
@@ -3240,6 +3276,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>
@@ -3249,18 +3286,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>
@@ -3268,6 +3306,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>
@@ -3292,6 +3333,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>
@@ -3318,7 +3360,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>
@@ -3349,7 +3391,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>
@@ -3381,10 +3423,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>
@@ -3428,16 +3472,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>
@@ -3455,6 +3509,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>
@@ -3485,6 +3540,12 @@
     <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="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>
@@ -3503,7 +3564,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>
@@ -3527,6 +3588,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>
@@ -3591,8 +3653,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>
@@ -3647,6 +3711,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>
@@ -3660,15 +3728,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">
@@ -3714,6 +3787,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>
@@ -3802,8 +3876,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>
@@ -3815,6 +3887,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>
@@ -3827,9 +3900,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>
@@ -3976,8 +4055,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>
@@ -4148,6 +4230,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>
@@ -4212,14 +4296,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>
@@ -4312,8 +4392,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>
@@ -4485,20 +4569,24 @@
     <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="5389656885733341448">"Upravljački program za predizdanje"</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_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) -->
+    <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>
@@ -4663,7 +4751,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>
@@ -4672,12 +4759,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>
@@ -4687,6 +4770,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>
@@ -4753,6 +4838,13 @@
     <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>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index 486632f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"Nyilvános webes meghajtó"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Nincs"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPv2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Nincs"</item>
-    <item msgid="6196154457987907739">"MSCHAPv2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPv2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Semelyik"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPv2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 0b9389e..5f7ac60 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Láthatóság időkerete"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Hanghívás zárolása"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"A bluetooth tárcsázó használatának megakadályozása, ha a képernyő le van zárva"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth eszközök"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Eszköz neve"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Eszközbeállítások"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profilbeállítások"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Alkalmazásai akkumulátorhasználata nem tér el az átlagostól. Ha az alkalmazások túlzottan igénybe veszik az akkumulátort, eszköze javaslatot ad a lehetséges intézkedésekre.\n\nAz Akkumulátorkímélő módot bármikor bekapcsolhatja, ha az akkumulátor kezd nagyon lemerülni."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akkumulátorkezelő"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Alkalmazások automatikus kezelése"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Korlátozza a nem gyakran használt alkalmazások akkumulátorhasználatát"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Amikor az Akkumulátorkezelő azt észleli, hogy bizonyos alkalmazások merítik az akkumulátort, Önnek lehetősége nyílik az érintett alkalmazások korlátozására. Előfordulhat, hogy a korlátozott alkalmazások ezután nem működnek megfelelően, és késnek az értesítéseik."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Amikor az Akkumulátorkezelő azt észleli, hogy bizonyos alkalmazások merítik az akkumulátort, Önnek lehetősége nyílik az érintett alkalmazások korlátozására. Előfordulhat, hogy a korlátozott alkalmazások ezután nem működnek megfelelően, és késnek az értesítéseik."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Amikor az Akkumulátorkezelő azt észleli, hogy bizonyos alkalmazások merítik az akkumulátort, Önnek lehetősége nyílik az érintett alkalmazások korlátozására. Előfordulhat, hogy a korlátozott alkalmazások ezután nem működnek megfelelően, és késnek az értesítéseik."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Korlátozza a nem gyakran használt alkalmazások akkumulátorhasználatát"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Amikor az Akkumulátorkezelő azt észleli, hogy bizonyos alkalmazások merítik az akkumulátort, Önnek lehetősége nyílik az érintett alkalmazások korlátozására. Előfordulhat, hogy a korlátozott alkalmazások ezután nem működnek megfelelően, és késnek az értesítéseik."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Korlátozott alkalmazások"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Az akkumulátorhasználat korlátozása %1$d alkalmazás számára</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Ezek az alkalmazások akkumulátort használtak a háttérben. Előfordulhat, hogy a korlátozott alkalmazások ezután nem működnek megfelelően, és késnek az értesítéseik."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Az Akkumulátorkezelő használata"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Az akkumulátort merítő alkalmazások észlelése"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Be – Az akkumulátort merítő alkalmazások észlelése"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Be – Az akkumulátort merítő alkalmazások észlelése"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Ki"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d alkalmazás korlátozva</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"A hitelesítési adatok nem érhetők el ennél a felhasználónál"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN-hez és alkalmazásokhoz telepítve"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi-hez telepítve"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Telepítve az alkalmazás telepítőforrás-igazolásához"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Eltávolítja az összes tartalmat?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Alkalmazásforrás-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="app_src_certificate_warning_title" msgid="3581334802881767289">"Saját felelősségére telepítse ezt a tanúsítványt"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Az alkalmazásforrás-tanúsítványok igazolják, hogy az alkalmazások biztonságosak eszköze számára. Csak megbízható szervezettől származó tanúsítványt telepítsen."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"egy felhasználói tanúsítvány"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"egy CA tanúsítvány"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA tanúsítvány"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"egy alkalmazásforrás-tanúsítvány"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Hitelesítési adatok"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"A következő hitelesítési adatot törölte a rendszer: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nincsenek telepített felhasználói hitelesítési adatok"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Tanúsítványhasználathoz újraindítás szükséges"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Ezen alkalmazásforrás-tanúsítvány használatához indítsa újra az eszközt"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Az eltávolítás befejezéséhez indítsa újra"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Ezen alkalmazásforrás-tanúsítvány eltávolításához indítsa újra az eszközt"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Újraindítás"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ne most"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Helyesírás-ellenőrző"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Munkahelyi helyesírás-ellenőrzés"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Adja meg a teljes mentések jelenlegi jelszavát"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Kiadás előtti 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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index 9b58c2d..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ոչ մեկը"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Չկա"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM քարտ"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ոչ մեկը"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PA"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 213887c..0ec61dc 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Տեսանելիության ժամանակի սպառում"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Կողպել ձայնային համարհավաքումը"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Կանխել Bluetooth համարհավաքչի օգտագործումը, երբ էկրանը կողպված է"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-ով սարքեր"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Սարքի անունը"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Սարքի կարգավորումներ"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Պրոֆիլի կարգավորումներ"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"ավտոմատ սեղմման ժամանակը"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Ձեր հավելվածները մարտկոցի լիցքն օգտագործում են սովորական ծավալով։ Եթե դրանք չափից շատ սպառեն մարտկոցի լիցքը, սարքը ձեզ կառաջարկի համապատասխան գործողություններ ձեռնարկել։\n\nԴուք ցանկացած ժամանակ կարող եք միացնել մարտկոցի տնտեսման ռեժիմը։"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Մարտկոցի կառավարիչ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Հավելվածների ավտոմատ կառավարում"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Սահմանափակել հազվադեպ օգտագործվող հավելվածների աշխատանքը"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Մարտկոցի կառավարիչը հայտնաբերում է մարտկոցի լիցքն արագ սպառող հավելվածները և առաջարկում է սահմանափակել դրանց աշխատանքը: Սահմանափակված հավելվածների աշխատանքը կարող է խաթարվել, իսկ ծանուցումները կարող են ուշացումով ստացվել:"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Մարտկոցի կառավարիչը հայտնաբերում է մարտկոցի լիցքն արագ սպառող հավելվածները և առաջարկում է սահմանափակել դրանց աշխատանքը: Սահմանափակված հավելվածների աշխատանքը կարող է խաթարվել, իսկ ծանուցումները կարող են ուշացումով ստացվել:"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Մարտկոցի կառավարիչը հայտնաբերում է մարտկոցի լիցքն արագ սպառող հավելվածները և առաջարկում է սահմանափակել դրանց աշխատանքը: Սահմանափակված հավելվածների աշխատանքը կարող է խաթարվել, իսկ ծանուցումները կարող են ուշացումով ստացվել:"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Սահմանափակել հազվադեպ օգտագործվող հավելվածների աշխատանքը"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Մարտկոցի կառավարիչը հայտնաբերում է մարտկոցի լիցքն արագ սպառող հավելվածները և առաջարկում է սահմանափակել դրանց աշխատանքը: Սահմանափակված հավելվածների աշխատանքը կարող է խաթարվել, իսկ ծանուցումները կարող են ուշացումով ստացվել:"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Սահմանափակ հասանելիությամբ հավելվածներ"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Մարտկոցի օգտագործումը սահմանափակված է %1$d հավելվածի համար</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Այս հավելվածներն էներգիա են սպառում ֆոնային ռեժիմում։ Արդյունքում հավելվածների աշխատանքը կարող է խաթարվել, իսկ ծանուցումները կարող են ուշացումով ստացվել:"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Օգտագործել մարտկոցի կառավարիչը"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Հայտնաբերել հավելվածները, որոնք արագ սպառում են մարտկոցի լիցքը"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Միացված է – Մարտկոցի լիցքն արագ սպառող հավելվածների հայտնաբերում"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Միացված է – Մարտկոցի լիցքն արագ սպառող հավելվածների հայտնաբերում"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Անջատված է"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">Սահմանափակված է %1$d հավելված</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Հավատարմագրերը հասանելի չեն այս օգտատիրոջ"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Տեղադրվել է VPN-ի և հավելվածների համար"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Տեղադրվել է Wi-Fi-ի համար"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Տեղադրվել է հավելվածի տեղադրման աղբյուրի ստուգման համար"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Հեռացնե՞լ ողջ բովանդակությունը:"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Հավելվածի աղբյուրի հավաստագիր"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Տեղադրեք հավաստագիրը սեփական պատասխանատվությամբ"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Հավելվածների աղբյուրների հավաստագրերը հաստատում են, որ հավելվածներն անվտանգ են ձեր սարքի համար։ Տեղադրեք միայն վստահելի կազմակերպությունների հավաստագրեր։"</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"մեկ օգտատիրոջ վկայագիր"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"մեկ CA վկայագիր"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA վկայագրեր"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"հավելվածի աղբյուրի մեկ հավաստագիր"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Հավատարմագրերի տվյալներ"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Հեռացված հավատարմագիրը՝ <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Օգտատիրոջ մուտքի տվյալներ չեն տեղադրվել"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Վերագործարկեք՝ հավաստագիրն օգտագործելու համար"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Այս հավելվածի աղբյուրի հավաստագիրն օգտագործելու համար դուք պետք է վերագործարկեք ձեր սարքը"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Վերագործարկեք՝ ապատեղադրումն ավարտելու համար"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Այս հավելվածի աղբյուրի հավաստագիրն ապատեղադրելու համար դուք պետք է վերագործարկեք ձեր սարքը"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Վերագործարկել"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ոչ հիմա"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Ուղղագրիչ"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Ուղղագրիչ աշխատանքի համար"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Մուտքագրեք ընթացիկ գաղտնաբառը"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Ցուցադրել անձայն ռեժիմում և ծալել"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Ցույց տալ անձայն"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Ձայն"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Սարքավարի նախնական թողարկում"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index e514c8f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Tidak ada"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Tidak ada"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Tidak ada"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 007c6f0..0a8e320 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Batas waktu keterlihatan"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Kunci pemanggilan suara"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Mencegah penggunaan aplikasi telepon Bluetooth ketika layar terkunci"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Perangkat bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nama perangkat"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Setelan perangkat"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Setelan profil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikasi Anda menggunakan baterai secara normal. Jika aplikasi terlalu banyak menggunakan daya baterai, perangkat Anda akan menyarankan beberapa tindakan.\n\nAnda selalu dapat mengaktifkan Penghemat Baterai jika daya baterai hampir habis."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Pengelola Baterai"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Kelola aplikasi secara otomatis"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Batasi baterai untuk aplikasi yang tidak sering digunakan"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Jika Pengelola Baterai mendeteksi bahwa aplikasi menghabiskan baterai, Anda akan memiliki opsi untuk membatasi aplikasi tersebut. Aplikasi yang dibatasi mungkin tidak berfungsi dengan baik dan notifikasi dapat tertunda."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Jika Pengelola Baterai mendeteksi bahwa aplikasi menghabiskan baterai, Anda akan memiliki opsi untuk membatasi aplikasi tersebut. Aplikasi yang dibatasi mungkin tidak berfungsi dengan baik dan notifikasi dapat tertunda."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Jika Pengelola Baterai mendeteksi bahwa aplikasi menghabiskan baterai, Anda akan memiliki opsi untuk membatasi aplikasi tersebut. Aplikasi yang dibatasi mungkin tidak berfungsi dengan baik dan notifikasi dapat tertunda."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Batasi baterai untuk aplikasi yang tidak sering digunakan"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Jika Pengelola Baterai mendeteksi bahwa aplikasi menghabiskan baterai, Anda akan memiliki opsi untuk membatasi aplikasi tersebut. Aplikasi yang dibatasi mungkin tidak berfungsi dengan baik dan notifikasi dapat tertunda."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Aplikasi yang dibatasi"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Membatasi penggunaan baterai untuk %1$d aplikasi</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Aplikasi ini telah menggunakan daya baterai di background. Aplikasi yang dibatasi mungkin tidak berfungsi dengan baik dan notifikasi dapat tertunda."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Gunakan Pengelola Baterai"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Mendeteksi jika aplikasi menghabiskan baterai"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Aktif / Mendeteksi jika aplikasi menghabiskan baterai"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Aktif / Mendeteksi jika aplikasi menghabiskan baterai"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Nonaktif"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d aplikasi dibatasi</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Kredensial tidak tersedia untuk pengguna ini"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Dipasang untuk VPN dan aplikasi"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Dipasang untuk Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Diinstal untuk verifikasi sumber instal aplikasi"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Hapus semua konten?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Sertifikat Sumber Aplikasi"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instal sertifikat ini dengan risiko Anda sendiri"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Sertifikat sumber aplikasi memverifikasi bahwa aplikasi aman untuk perangkat Anda. Hanya instal sertifikat dari organisasi yang Anda percaya."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"satu sertifikat pengguna"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"satu Sertifikat CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"Sertifikat CA %d"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"satu sertifikat Sumber Aplikasi"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detail kredensial"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Kredensial yang dihapus: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Kredensial pengguna tidak terinstal"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Mulai ulang untuk menggunakan sertifikat"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Untuk menggunakan sertifikat sumber aplikasi ini, Anda harus memulai ulang perangkat"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Mulai ulang untuk menyelesaikan uninstal"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Untuk meng-uninstal sertifikat sumber aplikasi ini, Anda harus memulai ulang perangkat"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Mulai ulang"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Lain kali"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Pemeriksa ejaan"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Pemeriksa ejaan untuk kerja"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Ketikkan sandi cadangan penuh saat ini di sini"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Driver Pra-rilis"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index 4715aa2..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ekkert"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ekkert"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Engin"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 39d389f..913628b 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Tímamörk sýnileika"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Læsa raddhringingu"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Hindra notkun Bluetooth-hringiforrits þegar skjárinn er læstur"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-tæki"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Heiti tækis"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Stillingar tækis"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Stillingar sniðs"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Rafhlöðunotkun forritanna þinna er eðlileg. Ef rafhlöðunotkun forrita er of mikil leggur tækið til aðgerðir sem þú getur gripið til.\n\nÞú getur alltaf kveikt á rafhlöðusparnaði ef lítil hleðsla er eftir á rafhlöðunni."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Rafhlöðustjórnun"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Stjórna forritum sjálfkrafa"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Takmarka rafhlöðunotkun forrita sem þú notar sjaldan"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Þegar rafhlöðustjórnun greinir forrit sem nota mikla rafhlöðuorku geturðu valið að takmarka þessi forrit. Takmörkuð forrit munu hugsanlega ekki virka rétt og tilkynningar kunna að tefjast."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Þegar rafhlöðustjórnun greinir forrit sem nota mikla rafhlöðuorku geturðu valið að takmarka þessi forrit. Takmörkuð forrit munu hugsanlega ekki virka rétt og tilkynningar kunna að tefjast."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Þegar rafhlöðustjórnun greinir forrit sem nota mikla rafhlöðuorku geturðu valið að takmarka þessi forrit. Takmörkuð forrit munu hugsanlega ekki virka rétt og tilkynningar kunna að tefjast."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Takmarka rafhlöðunotkun forrita sem þú notar sjaldan"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Þegar rafhlöðustjórnun greinir forrit sem nota mikla rafhlöðuorku geturðu valið að takmarka þessi forrit. Takmörkuð forrit munu hugsanlega ekki virka rétt og tilkynningar kunna að tefjast."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Takmörkuð forrit"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Takmarka rafhlöðunotkun %1$d forrits</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Þessi forrit hafa verið að nota rafhlöðuna í bakgrunni. Takmörkuð forrit virka hugsanlega ekki rétt og tafir geta orðið á tilkynningum."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Nota rafhlöðustjórnun"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Greina þegar forrit nota mikla rafhlöðuorku"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Kveikt / greinir þegar forrit nota mikla rafhlöðuorku"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Kveikt / greinir þegar forrit nota mikla rafhlöðuorku"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Slökkt"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d forrit takmarkað</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Skilríki eru ekki í boði fyrir þennan notanda"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Sett upp fyrir VPN og forrit"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Sett upp fyrir Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Uppsett fyrir staðfestingu á uppruna forrits"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Fjarlægja allt innihaldið?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Vottorð um uppruna forrits"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Uppsetning þessa vottorðs er á þína ábyrgð."</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Vottorð um uppruna forrita veita staðfestingu á því að forrit séu örugg fyrir tækið. Settu aðeins upp vottorð frá fyrirtækjum og stofnunum sem þú treystir."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"eitt notandavottorð"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"eitt CA-vottorð"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA-vottorð"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"eitt vottorð um uppruna forrits"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Upplýsingar um skilríki"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Fjarlægði skilríki: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Engin notandaskilríki sett upp"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Endurræstu til að nota vottorðið"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Þú þarft að endurræsa tækið til að nota þetta vottorð um uppruna forrits"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Endurræstu til að ljúka við að fjarlægja"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Þú þarft að endurræsa tækið til að fjarlægja þetta vottorð um uppruna forrits"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Endurræsa"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ekki núna"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Ritvilluleit"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Ritvilluleit fyrir vinnu"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Sláðu inn nýja aðgangsorðið þitt fyrir fulla afritun hér"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Forútgefinn rekill"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index 3666018..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Nessuno"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Nessuno"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Nessuna"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 b2a552c..dd15639 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Timeout visibilità"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Blocca composizione vocale"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Impedisci l\'uso del compositore Bluetooth quando lo schermo è bloccato"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Dispositivi Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nome dispositivo"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Impostazioni dispositivo"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Impostazioni profilo"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Le tue app stanno utilizzando un livello di batteria normale. Se le app consumano troppa batteria, il dispositivo ti suggerirà come rimediare.\n\nSe la batteria è in esaurimento, puoi attivare il Risparmio energetico in qualsiasi momento."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestione batteria"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gestisci le app automaticamente"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limita l\'utilizzo della batteria per le app che usi di rado"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Quando Battery Manager rileva che le app stanno scaricando la batteria, puoi applicare limitazioni a queste app. Le app con limitazioni potrebbero non funzionare correttamente e potresti ricevere le notifiche in ritardo."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Quando Battery Manager rileva che le app stanno scaricando la batteria, puoi applicare limitazioni a queste app. Le app con limitazioni potrebbero non funzionare correttamente e potresti ricevere le notifiche in ritardo."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Quando Battery Manager rileva che le app stanno scaricando la batteria, puoi applicare limitazioni a queste app. Le app con limitazioni potrebbero non funzionare correttamente e potresti ricevere le notifiche in ritardo."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limita l\'utilizzo della batteria per le app che usi di rado"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Quando Battery Manager rileva che le app stanno scaricando la batteria, puoi applicare limitazioni a queste app. Le app con limitazioni potrebbero non funzionare correttamente e potresti ricevere le notifiche in ritardo."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"App con limitazioni"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Limitazione del consumo della batteria per %1$d app</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Queste app stanno usando batteria in background. Le app con limitazioni potrebbero non funzionare correttamente e potresti ricevere le relative notifiche in ritardo."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Usa Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Rileva quando le app scaricano la batteria"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"On/Rileva quando le app scaricano la batteria"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"On/Rileva quando le app scaricano la batteria"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"OFF"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d app con restrizioni</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Le credenziali non sono disponibili per questo utente"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installata per VPN e app"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installata per Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installata per la verifica dell\'origine di installazione dell\'app"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Rimuovere tutti i contenuti?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificato di origine app"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installa il certificato a tuo rischio"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"I certificati di origine app verificano che le app siano sicure per il dispositivo. Installa solo certificati provenienti da organizzazioni che ritieni affidabili."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"un certificato utente"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"un certificato CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"Certificati CA %d"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"un certificato di origine app"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Dettagli credenziali"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Credenziali rimosse: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nessuna credenziale utente installata"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Riavvia per usare il certificato"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Per usare questo certificato di origine app, devi riavviare il dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Riavvia per completare la disinstallazione"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Per disinstallare il certificato di origine app, devi riavviare il dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Riavvia"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Non ora"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Controllo ortografico"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Controllo ortografico per il lavoro"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Digita la password attuale di backup completo qui"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Driver pre-release"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 32cf3bc..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"ללא"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"ללא"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"אין"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 f2b1bcd..68bafed 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>
@@ -101,7 +68,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"זמן קצוב לחשיפה"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"נעילת חיוג קולי"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"‏לא ניתן להשתמש בחייגן Bluetooth כאשר המסך נעול"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"‏מכשירי Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"שם המכשיר"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"הגדרות המכשיר"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"הגדרות פרופיל"</string>
@@ -176,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>
@@ -211,46 +177,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 +219,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 +237,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 +244,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 +287,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 +318,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 +631,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 +673,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>
@@ -872,16 +799,19 @@
     <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 +885,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 +896,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 +904,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>
@@ -998,12 +930,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 +950,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 +970,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 +1028,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 +1081,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 +1090,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 +1127,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 +1263,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 +1286,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 +1377,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 +1404,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 +1617,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 +1667,9 @@
     <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="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 +1762,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 +1770,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>
@@ -1941,7 +1905,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 +2105,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 +2113,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;To zoom in:&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 +2182,41 @@
     <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="2370077188725433271">"זמן לחיצה אוטומטית"</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_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 +2230,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>
@@ -2464,10 +2482,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"האפליקציות משתמשות בכמות רגילה של צריכת סוללה. אם אפליקציות יצרכו יותר מדי מהסוללה, המכשיר יציע פעולות שאפשר לנקוט.\n\nניתן תמיד להפעיל את תכונת החיסכון בסוללה אם הסוללה עומדת להתרוקן."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"מנהל הסוללה"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ניהול אפליקציות באופן אוטומטי"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"הגבלת שימוש בסוללה לאפליקציות שבהן לא נעשה שימוש לעתים קרובות"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"כשמנהל הסוללה יזהה שאפליקציות גורמות להתרוקנות הסוללה, תהיה לך אפשרות להגביל אותן. ייתכן שהאפליקציות שיש להן הגבלה לא יפעלו כראוי ויהיה עיכוב בקבלת התראות."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"כשמנהל הסוללה יזהה שאפליקציות גורמות להתרוקנות הסוללה, תהיה לך אפשרות להגביל אותן. ייתכן שהאפליקציות שיש להן הגבלה לא יפעלו כראוי ויהיה עיכוב בקבלת התראות."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"כשמנהל הסוללה יזהה שאפליקציות גורמות להתרוקנות הסוללה, תהיה לך אפשרות להגביל אותן. ייתכן שהאפליקציות שיש להן הגבלה לא יפעלו כראוי ויהיה עיכוב בקבלת התראות."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"הגבלת שימוש בסוללה לאפליקציות שבהן לא נעשה שימוש לעתים קרובות"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"כשמנהל הסוללה יזהה שאפליקציות גורמות להתרוקנות הסוללה, תהיה לך אפשרות להגביל אותן. ייתכן שהאפליקציות שיש להן הגבלה לא יפעלו כראוי ויהיה עיכוב בקבלת התראות."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"אפליקציות בשימוש מוגבל"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="two">‏מגביל שימוש בסוללה של %1$d אפליקציות</item>
@@ -2479,7 +2495,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"אפליקציות אלה השתמשו בסוללה ברקע. ייתכן שאפליקציות מוגבלות לא יפעלו כראוי ושיהיה עיכוב בקבלת התראות."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"שימוש במנהל הסוללה"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"זיהוי אפליקציות שגורמות להתרוקנות הסוללה"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"פועל / מזהה כשאפליקציות גורמות להתרוקנות הסוללה"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"פועל / מזהה כשאפליקציות גורמות להתרוקנות הסוללה"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"כבוי"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="two">‏%1$d אפליקציות מוגבלות</item>
@@ -2589,7 +2605,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>
@@ -2670,8 +2685,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>
@@ -2687,10 +2701,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"פרטי כניסה אינם זמינים עבור המשתמש הזה"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"‏מותקן עבור VPN ואפליקציות"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"‏מותקן עבור Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"הותקן לצורך אימות המקור להתקנת האפליקציה"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"להסיר את כל התוכן?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"אישור למקור האפליקציה"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"התקנת האישור הזה היא על אחריותך בלבד"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"אישורים למקור האפליקציה מאמתים שאפליקציות הן בטוחות למכשיר. יש להתקין אישורים רק מארגונים מהימנים."</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>
@@ -2718,10 +2744,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>
@@ -2735,6 +2757,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>
@@ -2969,9 +3001,16 @@
     <!-- String.format failed for translation -->
     <!-- no translation found for n_cacrts (5886462550192731627) -->
     <skip />
+    <string name="one_appsrccrt" msgid="8129657605195214337">"אישור אחד למקור אפליקציה"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"פרטי כניסה"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"פרטי הכניסה שהוסרו: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"לא הותקנו פרטי כניסה של המשתמש"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"יש להפעיל מחדש כדי להשתמש באישור"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"כדי להשתמש באישור הזה למקור האפליקציה, עליך להפעיל מחדש את המכשיר"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"יש להפעיל מחדש כדי להשלים את ביטול ההתקנה"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"כדי לבטל את התקנת האישור הזה למקור האפליקציה, עליך להפעיל מחדש את המכשיר"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"הפעלה מחדש"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"לא עכשיו"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"בודק איות"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"בדיקת איות לעבודה"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"הקלד כאן את הסיסמה הנוכחית שלך לגיבוי מלא"</string>
@@ -3094,7 +3133,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>
@@ -3163,7 +3201,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>
@@ -3173,6 +3210,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>
@@ -3186,7 +3224,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>
@@ -3206,6 +3243,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>
@@ -3216,13 +3254,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>
@@ -3246,7 +3285,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>
@@ -3284,6 +3323,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>
@@ -3293,18 +3333,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>
@@ -3312,6 +3353,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>
@@ -3337,6 +3381,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>
@@ -3363,7 +3408,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>
@@ -3394,7 +3439,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>
@@ -3428,10 +3473,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>
@@ -3475,16 +3522,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>
@@ -3502,6 +3559,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>
@@ -3532,6 +3590,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"יש להציג באופן שקט וממוזער"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"הצג ללא צליל"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"עם צליל"</string>
@@ -3550,7 +3614,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>
@@ -3577,6 +3641,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>
@@ -3644,8 +3709,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>
@@ -3701,6 +3768,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>
@@ -3714,15 +3785,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">
@@ -3771,6 +3847,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>
@@ -3863,8 +3940,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>
@@ -3876,6 +3951,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>
@@ -3889,9 +3965,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>
@@ -4041,8 +4124,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>
@@ -4218,6 +4304,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>
@@ -4283,14 +4371,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>
@@ -4387,8 +4471,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>
@@ -4567,20 +4655,24 @@
     <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="5389656885733341448">"מנהל ההתקן לפני הפצה"</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_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) -->
+    <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>
@@ -4746,7 +4838,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>
@@ -4755,13 +4846,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>
@@ -4771,6 +4857,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>
@@ -4840,6 +4928,13 @@
     <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>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index 9bd65a9..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"なし"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"なし"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"なし"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 5e0dbc7..eccbab2 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"表示のタイムアウト"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ボイスダイヤルをロック"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"画面がロックされているときはBluetoothボイスダイヤルを使用しない"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetoothデバイス"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"デバイス名"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"デバイスの設定"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"プロファイル設定"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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,13 +870,14 @@
     <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>
     <string name="wifi_eap_anonymous" msgid="8630332141751267000">"匿名ID"</string>
     <string name="wifi_password" msgid="1458802324849513755">"パスワード"</string>
     <string name="wifi_show_password" msgid="6865993988238157923">"パスワードを表示する"</string>
-    <string name="wifi_ap_band_config" msgid="1589020070150933055">"AP帯域幅を選択"</string>
+    <string name="wifi_ap_band_config" msgid="1589020070150933055">"AP周波数帯を選択"</string>
     <string name="wifi_ap_choose_auto" msgid="8944442003151215691">"自動"</string>
     <string name="wifi_ap_choose_2G" msgid="1436802195991542016">"2.4 GHz 帯"</string>
     <string name="wifi_ap_choose_5G" msgid="8413248472288180075">"5.0 GHz 帯"</string>
@@ -966,12 +896,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 +916,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 +936,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 +988,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>
@@ -1099,11 +1037,11 @@
     <string name="wifi_hotspot_name_summary_connecting" msgid="6178719924661022928">"<xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g> を ON にしています..."</string>
     <string name="wifi_hotspot_name_summary_connected" msgid="6935457127884928249">"他のデバイスが <xliff:g id="WIFI_HOTSPOT_NAME">%1$s</xliff:g> に接続できます"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"アクセス ポイントのパスワード"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP 帯域幅"</string>
+    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP 周波数帯"</string>
     <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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"自動クリックの時間"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"アプリの電池使用量は正常です。アプリが電池を使いすぎる場合は、対処可能なおすすめの方法がデバイスに表示されます。\n\n電池の残量が少なくなったら、いつでもバッテリー セーバーを ON にできます。"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"バッテリー マネージャ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"アプリを自動的に管理"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"使用頻度の低いアプリによる電池の使用を制限します"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"バッテリー マネージャによってアプリの電池使用量が多いことが検出された場合は、該当するアプリを制限できます。制限したアプリは正常に動作しないことがあります。また、通知が遅れる可能性もあります。"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"バッテリー マネージャによってアプリの電池使用量が多いことが検出された場合は、該当するアプリを制限できます。制限したアプリは正常に動作しないことがあります。また、通知が遅れる可能性もあります。"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"バッテリー マネージャによってアプリの電池使用量が多いことが検出された場合は、該当するアプリを制限できます。制限したアプリは正常に動作しないことがあります。また、通知が遅れる可能性もあります。"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"使用頻度の低いアプリによる電池の使用を制限します"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"バッテリー マネージャによってアプリの電池使用量が多いことが検出された場合は、該当するアプリを制限できます。制限したアプリは正常に動作しないことがあります。また、通知が遅れる可能性もあります。"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"制限されたアプリ"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d 個のアプリの電池使用を制限しています</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"このアプリがバックグラウンドで電池を使用していました。制限したアプリは正常に動作しないことがあります。また、通知が遅れる可能性もあります。"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"バッテリー マネージャの使用"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"アプリの電池使用量が多いかどうかを検出します"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ON / アプリの電池使用量が多いかどうかを検出しています"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ON / アプリの電池使用量が多いかどうかを検出しています"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"OFF"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">制限されているアプリ: %1$d 個</item>
@@ -2515,7 +2527,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>
@@ -2564,8 +2575,8 @@
     <string name="menu_duration_6h" msgid="2843895006519153126">"6時間"</string>
     <string name="menu_duration_12h" msgid="9206922888181602565">"12時間"</string>
     <string name="menu_duration_1d" msgid="8538390358158862330">"1日"</string>
-    <string name="menu_show_system" msgid="3780310384799907818">"システムを表示"</string>
-    <string name="menu_hide_system" msgid="5197937451381420622">"システムを表示しない"</string>
+    <string name="menu_show_system" msgid="3780310384799907818">"システムアプリを表示"</string>
+    <string name="menu_hide_system" msgid="5197937451381420622">"システムアプリを表示しない"</string>
     <string name="menu_show_percentage" msgid="6143205879027928330">"割合を表示"</string>
     <string name="menu_use_uss" msgid="1663914348353623749">"Ussを使用"</string>
     <string name="menu_proc_stats_type" msgid="5048575824389855689">"統計タイプ"</string>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"認証情報はこのユーザーには表示されません"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN とアプリ用にインストール済み"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi 用にインストール済み"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"アプリ インストール提供元の確認用にインストール済み"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"コンテンツをすべて削除しますか？"</string>
     <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="app_src_certificate" msgid="436410009047766408">"アプリ提供元証明書"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"この証明書は各自の責任でインストールしてください"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"アプリ提供元証明書は、アプリがお使いのデバイスにとって安全であることを確認するためのものです。信頼できる認証局の証明書のみをインストールしてください。"</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ユーザー証明書1件"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"CA証明書1件"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"CA証明書%d件"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"1 件のアプリ提供元証明書"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"認証情報の詳細"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"認証情報（<xliff:g id="CREDENTIAL_NAME">%s</xliff:g>）を削除しました"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"ユーザー認証情報がインストールされていません"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"証明書を使用するには再起動してください"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"このアプリ提供元証明書を使用するには、デバイスを再起動する必要があります"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"アンインストールを終了するには再起動してください"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"このアプリ提供元証明書をアンインストールするには、デバイスを再起動する必要があります"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"再起動"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"後で"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"スペルチェック"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"仕事用のスペルチェック"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"現在のフルバックアップパスワードをここに入力してください"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"ポップアップで知らせて最小化"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ポップアップで知らせる"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"音で知らせる"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"プレリリース版ドライバ"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index c6c7258..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"არცერთი"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"არცერთი"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"არცერთი"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 6dc0f60..95482cc 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"ხილვადობის დროის ლიმიტი"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ხმოვანი დარეკვის დაბლოკვა"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"ჩაკეტილი ეკრანის დროს Bluetooth დარეკვის გამოყენების თავიდან აცილება"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth მოწყობილობები"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"მოწყობილობის სახელი"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"მოწყობილობის პარამეტრები"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"პროფილის პარამეტრები"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"ავტომატური დაწკაპუნების დრო"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"თქვენი აპები ბატარეის ნორმალური მოხმარებით ხასიათდება. თუ აპები ბატარეას ზედმეტად მოიხმარს, თქვენი მოწყობილობა შემოგთავაზებთ პოტენციურ ქმედებებს ამის აღსაკვეთად.\n\nამასთანავე, თქვენ ყოველთვის შეგიძლიათ ჩართოთ ბატარეის დამზოგი, თუ ბატარეა გეწურებათ."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"აპების ავტომატურად მართვა"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ბატარეის მოხმარების შეზღუდვა აპებისთვის, რომლებსაც იშვიათად იყენებთ"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"როცა Battery Manager ამოიცნობს, რომ აპები ბატარეას ცლის, თქვენ შეგეძლებათ ამ აპების შეზღუდვა. შეზღუდულმა აპებმა შესაძლოა გამართულად არ იმუშაოს და, შედეგად, დაგვიანდეს შეტყობინებები."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"როცა Battery Manager ამოიცნობს, რომ აპები ბატარეას ცლის, თქვენ შეგეძლებათ ამ აპების შეზღუდვა. შეზღუდულმა აპებმა შესაძლოა გამართულად არ იმუშაოს და, შედეგად, დაგვიანდეს შეტყობინებები."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"როცა Battery Manager ამოიცნობს, რომ აპები ბატარეას ცლის, თქვენ შეგეძლებათ ამ აპების შეზღუდვა. შეზღუდულმა აპებმა შესაძლოა გამართულად არ იმუშაოს და, შედეგად, დაგვიანდეს შეტყობინებები."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ბატარეის მოხმარების შეზღუდვა აპებისთვის, რომლებსაც იშვიათად იყენებთ"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"როცა Battery Manager ამოიცნობს, რომ აპები ბატარეას ცლის, თქვენ შეგეძლებათ ამ აპების შეზღუდვა. შეზღუდულმა აპებმა შესაძლოა გამართულად არ იმუშაოს და, შედეგად, დაგვიანდეს შეტყობინებები."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"შეზღუდული აპები"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">მიმდინარეობს ბატარეის მოხმარების შეზღუდვა %1$d აპისთვის</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ეს აპები ბატარეას ფონურ რეჟიმში მოიხმარდა. შეზღუდულმა აპებმა შესაძლოა გამართულად არ იმუშაოს და დაგვიანდეს შეტყობინებები."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Battery Manager-ის გამოყენება"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"ამოცნობა, როცა აპები ბატარეას ცლის"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ჩართულია / ამოცნობა, როცა აპები ბატარეას ცლის"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ჩართულია / ამოცნობა, როცა აპები ბატარეას ცლის"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"გამორთული"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">შეზღუდულია %1$d აპი</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ამ მომხმარებლისთვის ავტორიზაციის მონაცემები ხელმისაწვდომი არ არის"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"დაინსტალირებულია VPN-ისა და აპებისთვის"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"დაინსტალირებულია Wi-Fi-სთვის"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"დაინსტალირებულია აპის ინსტალაციის წყაროს დადასტურებისთვის"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"გსურთ სრული კონტენტის წაშლა?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"აპის წყაროს სერტიფიკატი"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ამ სერტიფიკატის ინსტალაციით რისკს თქვენ იღებთ"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"აპის წყაროს სერტიფიკატი ადასტურებს, რომ აპი უსაფრთხოა თქვენი მოწყობილობისთვის. სერტიფიკატები მხოლოდ სანდო ორგანიზაციებისგან დააინსტალირეთ."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"მომხმარებლის ერთი სერტიფიკატი"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ერთი CA სერტიფიკატი"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA სერტიფიკატები"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"აპის წყაროს ერთი სერტიფიკატი"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ავტორიზაციის მონაცემების დეტალები"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ავტორიზაციის მონაცემი: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g> ამოიშალა"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"მომხმარებლების ავტორიზაციის მონაცემები დაინსტალირებული არ არის"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"გადატვირთეთ სერტიფიკატის გამოსაყენებლად"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"აპის წყაროს ამ სერტიფიკატის გამოსაყენებლად მოწყობილობა უნდა გადატვირთოთ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"გადატვირთეთ დეინსტალაციის დასასრულებლად"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"აპის წყაროს ამ სერტიფიკატის დეინსტალაციისთვის მოწყობილობა უნდა გადატვირთოთ"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"გადატვირთვა"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ახლა არა"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"მართლწერის შემმოწმებელი"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"მართლწერის შემმოწმებელი სამსახურისთვის"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"აკრიფეთ სრული დამარქაფების პაროლი აქ"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"ჩუმად ჩვენება და ჩაკეცვა"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"უხმოდ ჩვენება"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ხმის გამოცემა"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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 +3988,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 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"დრაივერი გამოქვეყნებამდე"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index 78b57cb..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD (басу жұмысы нұсқаулығы)"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ешқандай"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ешқандай"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ешқандай"</item>
-    <item msgid="2548160166342921510">"PAP (кілтсөз арқылы растау) протоколы"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 a147715..a0df081 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Көріну ұзақтығы"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Дауыс арқылы теруді бекіту"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Экран бекітілгенде Bluetooth тергішін қолдануды бөгеу"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth құрылғылары"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Құрылғы атауы"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Құрылғы параметрлері"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Профайл параметрлері"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"автобасу уақыты"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Қолданбалар батарея зарядын қалыпты тұтынуда. Көп тұтынатын болса, құрылғыда орындауға болатын әрекеттер ұсынылады.\n\nБатарея заряды аз болса, Battery Saver функциясын қосуыңызға болады."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Қолданбаларды автоматты түрде реттеу"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Сирек пайдаланылатын қолданбалар үшін батареяның пайдаланылуын шектеу"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Battery Manager функциясы батарея зарядын жылдам тауысатын қолданбаларды анықтайтын кезде, осы қолданбаларды шектейтін опция болады. Шектелген қолданбалар дұрыс жұмыс істемеуі және хабарландырулар кешігіп келуі мүмкін."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Battery Manager функциясы батарея зарядын жылдам тауысатын қолданбаларды анықтайтын кезде, осы қолданбаларды шектейтін опция болады. Шектелген қолданбалар дұрыс жұмыс істемеуі және хабарландырулар кешігіп келуі мүмкін."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Battery Manager функциясы батарея зарядын жылдам тауысатын қолданбаларды анықтайтын кезде, осы қолданбаларды шектейтін опция болады. Шектелген қолданбалар дұрыс жұмыс істемеуі және хабарландырулар кешігіп келуі мүмкін."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Сирек пайдаланылатын қолданбалар үшін батареяның пайдаланылуын шектеу"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Battery Manager функциясы батарея зарядын жылдам тауысатын қолданбаларды анықтайтын кезде, осы қолданбаларды шектейтін опция болады. Шектелген қолданбалар дұрыс жұмыс істемеуі және хабарландырулар кешігіп келуі мүмкін."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Шектелген қолданбалар"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Батарея %1$d қолданба үшін ғана қолданылады</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Бұл қолданбалар батареяны фондық режимде пайдаланып келуде. Шектелген қолданбалар дұрыс жұмыс істемеуі және хабарландырулар кешігіп келуі мүмкін."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Battery Manager функциясын пайдалану"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Батарея зарядын жылдам тауысатын қолданбаларды анықтау"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Қосулы/Батарея зарядын жылдам тауысатын қолданбаларды анықтау"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Қосулы/Батарея зарядын жылдам тауысатын қолданбаларды анықтау"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Өшірулі"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d қолданба шектелді</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Осы пайдаланушы үшін тіркелгі деректері қол жетімді емес"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN желілері мен қолданбалар үшін орнатылған"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi үшін орнатылған"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Қолданбаны орнату дереккөзін тексеру үшін орнатылды."</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Барлық мазмұн жойылсын ба?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Қолданба дереккөзінің сертификаты"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Бұл сертификаттың қауіпсіздігі үшін өзіңіз жауапты боласыз."</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Қолданба дереккөзінің сертификаттары қолданбалардың құрылғы үшін қауіпсіз екенін растайды. Сенімді ұйымдар ұсынатын сертификаттарды ғана орнатыңыз."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"бір пайдаланушы сертификаты"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"бір CA сертификаты"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA сертификаттары"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"бір қолданба дереккөзінің сертификаты"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Тіркелгі деректерінің мәліметтері"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Жойылған тіркелу дерегі: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Пайдаланушының тіркелу деректері орнатылмаған"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Сертификатты пайдалану үшін қайта қосу"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Осы қолданба дереккөзінің сертификатын пайдалану үшін құрылғыны қайта қосу керек."</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Жою операциясын аяқтау үшін қайта қосу"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Осы қолданба дереккөзінің сертификатын жою үшін құрылғыңызды қайта қосу керек."</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Қайта қосу"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Қазір емес"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Емлені тексеру"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Жұмысқа арналған емлені тексеру құралы"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Толық сақтық кілтсөзін осы жерде теріңіз"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Дыбыссыз және кішірейтіп көрсету"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Дыбыссыз көрсету"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Дыбыстық сигнал беру"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Драйвердің алдын ала шығарылған нұсқасы"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index d372f6c..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"គ្មាន"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"គ្មាន"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"ស៊ីម"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"គ្មាន"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 775590c..ddf6576 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"អស់​ពេល​មើល​ឃើញ"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ចាក់សោ​ការ​ហៅជា​សំឡេង"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"ការ​ពារ​​​ការ​ប្រើ​អ្នក​ហៅ​តាម​ប៊្លូធូស ពេល​ចាក់សោ​អេក្រង់"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ឧបករណ៍​ប៊្លូធូស"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ឈ្មោះ​ឧបករណ៍"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"ការ​កំណត់​ឧបករណ៍"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"ការ​កំណត់​ប្រវត្តិ​រូប"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"រយៈពេល​ចុច​ដោយស្វ័យប្រវត្តិ"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"កម្មវិធី​របស់អ្នក​កំពុង​​ប្រើប្រាស់​​​ថ្ម​ក្នុងកម្រិត​ធម្មតា។ ប្រសិនបើ​កម្មវិធី​ប្រើថ្ម​ច្រើន​ខ្លាំងពេក ឧបករណ៍​របស់អ្នក​នឹងណែនាំ​សកម្មភាព​ផ្សេងៗ​ដែលអ្នក​អាចអនុវត្ត​បាន។\n\nអ្នក​អាច​បើក​កម្មវិធី​សន្សំ​ថ្ម​បាន​ជានិច្ច ប្រសិន​បើ​​ថ្ម​របស់អ្នក​នៅសល់តិច។"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"កម្មវិធី​គ្រប់គ្រង​ថ្ម"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"គ្រប់គ្រង​កម្មវិធី​ដោយ​ស្វ័យប្រវត្តិ"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ដាក់កម្រិត​ថ្ម​សម្រាប់​កម្មវិធី​ដែល​អ្នក​មិន​ប្រើ​ញឹកញាប់"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"នៅ​ពេល​កម្មវិធី​គ្រប់គ្រង​ថ្ម​រកឃើញ​ថាកម្មវិធី​កំពុងធ្វើឱ្យ​ថ្ម​ឆាប់​អស់ អ្នក​នឹង​មាន​ជម្រើស​ដើម្បីដាក់​កំហិត​កម្មវិធី​ទាំងនេះ។ កម្មវិធី​ដែល​បាន​កំហិតអាច​​មិន​ដំណើរការ​ប្រក្រតី ហើយ​ការជូនដំណឹង​អាច​​ត្រូវ​បាន​ពន្យារពេល។"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"នៅ​ពេល​កម្មវិធី​គ្រប់គ្រង​ថ្ម​រកឃើញ​ថាកម្មវិធី​កំពុងធ្វើឱ្យ​ថ្ម​ឆាប់​អស់ អ្នក​នឹង​មាន​ជម្រើស​ដើម្បីដាក់​កំហិត​កម្មវិធី​ទាំងនេះ។ កម្មវិធី​ដែល​បាន​កំហិតអាច​​មិន​ដំណើរការ​ប្រក្រតី ហើយ​ការជូនដំណឹង​អាច​​ត្រូវ​បាន​ពន្យារពេល។"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"នៅ​ពេល​កម្មវិធី​គ្រប់គ្រង​ថ្ម​រកឃើញ​ថាកម្មវិធី​កំពុងធ្វើឱ្យ​ថ្ម​ឆាប់​អស់ អ្នក​នឹង​មាន​ជម្រើស​ដើម្បីដាក់​កំហិត​កម្មវិធី​ទាំងនេះ។ កម្មវិធី​ដែល​បាន​កំហិតអាច​​មិន​ដំណើរការ​ប្រក្រតី ហើយ​ការជូនដំណឹង​អាច​​ត្រូវ​បាន​ពន្យារពេល។"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ដាក់កម្រិត​ថ្ម​សម្រាប់​កម្មវិធី​ដែល​អ្នក​មិន​ប្រើ​ញឹកញាប់"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"នៅ​ពេល​កម្មវិធី​គ្រប់គ្រង​ថ្ម​រកឃើញ​ថាកម្មវិធី​កំពុងធ្វើឱ្យ​ថ្ម​ឆាប់​អស់ អ្នក​នឹង​មាន​ជម្រើស​ដើម្បីដាក់​កំហិត​កម្មវិធី​ទាំងនេះ។ កម្មវិធី​ដែល​បាន​កំហិតអាច​​មិន​ដំណើរការ​ប្រក្រតី ហើយ​ការជូនដំណឹង​អាច​​ត្រូវ​បាន​ពន្យារពេល។"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"កម្មវិធី​ដែល​បាន​រឹតបន្តឹង"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">ការ​កម្រិត​ការប្រើប្រាស់​ថ្ម​សម្រាប់​កម្មវិធី %1$d</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"កម្មវិធី​ទាំងនេះ​កំពុងប្រើប្រាស់ថ្មនៅផ្ទៃ​ខាងក្រោយ។ កម្មវិធី​ដែលបាន​ដាក់​កំហិត​អាច​​ដំណើរការ​ខុសប្រក្រតី ហើយ​ការជូនដំណឹង​អាច​​មានការ​ពន្យារ​ពេល។"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"ប្រើ​កម្មវិធី​គ្រប់គ្រង​ថ្ម"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"រកឃើញនៅពេលកម្មវិធី​ធ្វើឱ្យឆាប់អស់ថ្ម"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"បើក/ការរកឃើញនៅពេល​កម្មវិធី​ធ្វើឱ្យឆាប់អស់ថ្ម"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"បើក/ការរកឃើញនៅពេល​កម្មវិធី​ធ្វើឱ្យឆាប់អស់ថ្ម"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"បិទ"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">កម្មវិធី %1$d ត្រូវបាន​ដាក់កំហិត</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ព័ត៌មាន​សម្ងាត់​មិន​មាន​សម្រាប់​អ្នកប្រើ​នេះ​ទេ"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"បានដំឡើេងសម្រាប់ VPN និងកម្មវិធី"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"បានដំឡើងសម្រាប់ Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"បានដំឡើងសម្រាប់ការផ្ទៀងផ្ទាត់ប្រភពនៃការដំឡើង​កម្មវិធី"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"លុបខ្លឹមសារចេញ​ទាំងអស់?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"វិញ្ញាបនបត្រ​ប្រភពកម្មវិធី"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ដំឡើង​វិញ្ញាបនបត្រនេះដោយទទួលខុសត្រូវដោយខ្លួនអ្នកផ្ទាល់"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"វិញ្ញាបនបត្រ​ប្រភពកម្មវិធីផ្ទៀងផ្ទាត់ថាតើកម្មវិធីផ្សេងៗមានសុវត្ថិភាពសម្រាប់ឧបករណ៍របស់អ្នកឬអត់។ ដំឡើង​តែវិញ្ញាបនបត្រពីស្ថាប័ន​ដែលអ្នក​ជឿទុកចិត្ត​ប៉ុណ្ណោះ។"</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"វិញ្ញាបនបត្រអ្នកប្រើម្នាក់"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"វិញ្ញាបនបត្រ CA មួយ"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"វិញ្ញាបនបត្រ CA %d"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"វិញ្ញាបនបត្រប្រភពកម្មវិធីមួយ"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ព័ត៌មានលម្អិតអំពីព័ត៌មានសម្គាល់ខ្លួន"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ព័ត៌មានអត្តសញ្ញាណត្រូវបានលុប៖ <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"មិនមានការដំឡើងព័ត៌មានសម្គាល់ខ្លួន​សម្រាប់អ្នកប្រើប្រាស់ទេ"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"ចាប់ផ្ដើមឡើងវិញ ដើម្បីប្រើវិញ្ញាបនបត្រ"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"ដើម្បីប្រើប្រាស់​វិញ្ញាបនបត្រប្រភពកម្មវិធីនេះ អ្នកត្រូវចាប់ផ្ដើម​ឧបករណ៍របស់អ្នកឡើងវិញ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"ចាប់ផ្ដើម​ឡើងវិញ ដើម្បី​បញ្ចប់ការលុប"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"ដើម្បីលុបវិញ្ញាបនបត្រប្រភពកម្មវិធីនេះ អ្នកត្រូវចាប់ផ្ដើម​ឧបករណ៍របស់អ្នកឡើងវិញ"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ចាប់ផ្ដើមឡើងវិញ"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"កុំទាន់"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"កម្មវិធី​ពិនិត្យ​អក្ខរា​វិរុទ្ធ"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"មុខងារ​ពិនិត្យ​អក្ខរាវិរុទ្ធ​សម្រាប់ការងារ"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"បញ្ចូល​ពាក្យ​សម្ងាត់​បម្រុងទុក​ពេញលេញ​បច្ចុប្បន្ន​របស់​អ្នក​នៅ​ទីនេះ"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"បង្ហាញ​ដោយ​ស្ងៀម​ស្ងាត់ ហើយ​បង្រួម"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"បង្ហាញ​ស្ងាត់ៗ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"បន្លឺ​សំឡេង"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"ដ្រាយវើ​មុន​ចេញផ្សាយ"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index 5f81cb2..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"ಯಾವುದೂ ಇಲ್ಲ"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"ಯಾವುದೂ ಅಲ್ಲ"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"ಸಿಮ್"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"ಸಿಮ್"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"ಯಾವುದೂ ಇಲ್ಲ"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 091ceb4..299167d 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"ಗೋಚರಿಸುವ ಅವಧಿ ಮೀರಿದೆ"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ಧ್ವನಿ ಡಯಲ್‌ ಮಾಡುವಿಕೆಯನ್ನು ಲಾಕ್ ಮಾಡು"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"ಪರದೆಯು ಲಾಕ್‌ ಆಗಿದ್ದಾಗ ಬ್ಲೂಟೂತ್‌‌ ಡಯಲರ್ ಬಳಕೆಯನ್ನು ನಿರ್ಬಂಧಿಸು"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ಬ್ಲೂಟೂತ್‌‌ ಸಾಧನಗಳು"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ಸಾಧನದ ಹೆಸರು"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"ಸಾಧನ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"ಪ್ರೊಫೈಲ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಆನ್ ಆಗಿದೆ"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ಟೆಥರಿಂಗ್‌"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ಡೇಟಾ ಉಳಿಸುವಿಕೆಯನ್ನು ಆನ್ ಆಗಿರುವಾಗ ಪೋರ್ಟಬಲ್ ಹಾಟ್‌ಸ್ಪಾಟ್‌ಗಳನ್ನು ಟೆಥರ್ ಮಾಡಲಾಗುವುದಿಲ್ಲ ಅಥವಾ ಬಳಸಲಾಗುವುದಿಲ್ಲ"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"ಸ್ವಯಂ ಕ್ಲಿಕ್ ಸಮಯ"</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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ನಿಮ್ಮ ಆ್ಯಪ್‍ಗಳು ಸಾಮಾನ್ಯ ಪ್ರಮಾಣದ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸುತ್ತಿವೆ. ಆ್ಯಪ್‍ಗಳು ತುಂಬಾ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಿದರೆ, ನೀವು ತೆಗೆದುಕೊಳ್ಳಬಹುದಾದ ಕ್ರಮಗಳನ್ನು ನಿಮ್ಮ ಸಾಧನವು ಸೂಚಿಸುತ್ತದೆ.\n\nನಿಮ್ಮ ಬ್ಯಾಟರಿ ಕಡಿಮೆಯಾಗುತ್ತಿದ್ದರೆ, ನೀವು ಬ್ಯಾಟರಿ ಸೇವರ್ ಅನ್ನು ಯಾವಾಗ ಬೇಕಾದರೂ ಆನ್ ಮಾಡಬಹುದು."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ಬ್ಯಾಟರಿ ನಿರ್ವಾಹಕ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ನೀವು ಪದೇ ಪದೇ ಉಪಯೋಗಿಸದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಬ್ಯಾಟರಿಯನ್ನು ಸೀಮಿತಗೊಳಿಸಿ"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"ಯಾವಾಗ ಬ್ಯಾಟರಿ ಮ್ಯಾನೇಜರ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಬ್ಯಾಟರಿಯನ್ನು ಬರಿದಾಗಿಸುತ್ತಿದೆ ಎಂದು ಪತ್ತೆ ಹಚ್ಚುತ್ತದೆಯೊ, ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವ ಆಯ್ಕೆಯನ್ನು ನೀವು ಹೊಂದಿರುತ್ತೀರಿ. ನಿರ್ಬಂಧಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡದಿರಬಹುದು ಮತ್ತು ಅಧಿಸೂಚನೆಗಳು ವಿಳಂಬವಾಗಬಹುದು."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"ಯಾವಾಗ ಬ್ಯಾಟರಿ ಮ್ಯಾನೇಜರ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಬ್ಯಾಟರಿಯನ್ನು ಬರಿದಾಗಿಸುತ್ತಿದೆ ಎಂದು ಪತ್ತೆ ಹಚ್ಚುತ್ತದೆಯೊ, ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವ ಆಯ್ಕೆಯನ್ನು ನೀವು ಹೊಂದಿರುತ್ತೀರಿ. ನಿರ್ಬಂಧಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡದಿರಬಹುದು ಮತ್ತು ಅಧಿಸೂಚನೆಗಳು ವಿಳಂಬವಾಗಬಹುದು."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"ಯಾವಾಗ ಬ್ಯಾಟರಿ ಮ್ಯಾನೇಜರ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಬ್ಯಾಟರಿಯನ್ನು ಬರಿದಾಗಿಸುತ್ತಿದೆ ಎಂದು ಪತ್ತೆ ಹಚ್ಚುತ್ತದೆಯೊ, ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವ ಆಯ್ಕೆಯನ್ನು ನೀವು ಹೊಂದಿರುತ್ತೀರಿ. ನಿರ್ಬಂಧಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡದಿರಬಹುದು ಮತ್ತು ಅಧಿಸೂಚನೆಗಳು ವಿಳಂಬವಾಗಬಹುದು."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ನೀವು ಪದೇ ಪದೇ ಉಪಯೋಗಿಸದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಬ್ಯಾಟರಿಯನ್ನು ಸೀಮಿತಗೊಳಿಸಿ"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"ಯಾವಾಗ ಬ್ಯಾಟರಿ ಮ್ಯಾನೇಜರ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಬ್ಯಾಟರಿಯನ್ನು ಬರಿದಾಗಿಸುತ್ತಿದೆ ಎಂದು ಪತ್ತೆ ಹಚ್ಚುತ್ತದೆಯೊ, ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸುವ ಆಯ್ಕೆಯನ್ನು ನೀವು ಹೊಂದಿರುತ್ತೀರಿ. ನಿರ್ಬಂಧಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡದಿರಬಹುದು ಮತ್ತು ಅಧಿಸೂಚನೆಗಳು ವಿಳಂಬವಾಗಬಹುದು."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"ನಿರ್ಬಂಧಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">%1$d ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ಸೀಮಿತಗೊಳಿಸಲಾಗಿದೆ</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸುತ್ತಿದೆ. ನಿರ್ಬಂಧಿತ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡದಿರಬಹುದು ಮತ್ತು ಅಧಿಸೂಚನೆಗಳು ವಿಳಂಬವಾಗಬಹುದು."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"ಬ್ಯಾಟರಿ ನಿರ್ವಾಹಕವನ್ನು ಬಳಸಿ"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಯಾವಾಗ ಬ್ಯಾಟರಿಯನ್ನು ಬರಿದಾಗಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಪತ್ತೆ ಮಾಡಿ"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ಆನ್ / ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಯಾವಾಗ ಬ್ಯಾಟರಿಯನ್ನು ಬರಿದಾಗಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಪತ್ತೆಹಚ್ಚಲಾಗುತ್ತಿದೆ"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ಆನ್ / ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಯಾವಾಗ ಬ್ಯಾಟರಿಯನ್ನು ಬರಿದಾಗಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ಪತ್ತೆಹಚ್ಚಲಾಗುತ್ತಿದೆ"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ಆಫ್ ಆಗಿದೆ"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ಈ ಬಳಕೆದಾರರಿಗೆ ರುಜುವಾತುಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN ಮತ್ತು ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗಾಗಿ ಸ್ಥಾಪಿಸಲಾಗಿದೆ"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"ವೈ-ಫೈಗೆ ಸ್ಥಾಪಿಸಲಾಗಿದೆ"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ಆ್ಯಪ್ ಇನ್‌ಸ್ಟಾಲ್ ಮೂಲದ ಪರಿಶೀಲನೆಗಾಗಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"ಎಲ್ಲ ವಿಷಯಗಳನ್ನು ತೆಗೆದುಹಾಕುವುದೇ?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ಆ್ಯಪ್ ಮೂಲದ ಪ್ರಮಾಣಪತ್ರ"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ನಿಮ್ಮ ಜವಾಬ್ದಾರಿಯ ಮೇರೆಗೆ ಪ್ರಮಾಣಪತ್ರ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"ನಿಮ್ಮ ಸಾಧನಕ್ಕಾಗಿ ಆ್ಯಪ್‌ಗಳು ಸುರಕ್ಷಿತವಾಗಿದೆ ಎಂಬುದನ್ನು ಆ್ಯಪ್ ಮೂಲದ ಪ್ರಮಾಣಪತ್ರಗಳು ಪರಿಶೀಲಿಸುತ್ತವೆ. ನೀವು ವಿಶ್ವಾಸ ಹೊಂದಿರುವ ಸಂಸ್ಥೆಗಳಿಂದ ಮಾತ್ರ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ."</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ಒಂದು ಬಳಕೆದಾರರ ಪ್ರಮಾಣಪತ್ರವಿದೆ"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ಒಂದು CA ಪ್ರಮಾಣಪತ್ರವಿದೆ"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA ಪ್ರಮಾಣಪತ್ರಗಳು"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ಒಂದು ಆ್ಯಪ್ ಮೂಲದ ಪ್ರಮಾಣಪತ್ರ"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ರುಜುವಾತು ವಿವರಗಳು"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ರುಜುವಾತು ತೆಗೆದುಹಾಕಲಾಗಿದೆ: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"ಬಳಕೆದಾರರ ರುಜುವಾತುಗಳನ್ನು ಇನ್‍ಸ್ಟಾಲ್ ಮಾಡಿಲ್ಲ"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬಳಸಲು ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"ಈ ಆ್ಯಪ್ ಮೂಲದ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬಳಸಲು, ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಮರುಪ್ರಾರಂಭಿಸಬೇಕಾಗುತ್ತದೆ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವುದನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"ಈ ಆ್ಯಪ್ ಮೂಲದ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವುದಕ್ಕೆ, ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಮರುಪ್ರಾರಂಭಿಸಬೇಕಾಗುತ್ತದೆ"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ಈಗ ಬೇಡ"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"ಕಾಗುಣಿತ ಪರೀಕ್ಷಕ"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"ಕೆಲಸಕ್ಕಾಗಿ ಕಾಗುಣಿತ ಪರೀಕ್ಷಕ"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"ಈಗಿನ ಸಂಪೂರ್ಣ ಬ್ಯಾಕಪ್ ಪಾಸ್‌ವರ್ಡನ್ನು ಇಲ್ಲಿ ಟೈಪ್‌ ಮಾಡಿ"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,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>
@@ -3130,13 +3167,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>
@@ -3160,7 +3198,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>
@@ -3198,6 +3236,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>
@@ -3207,18 +3246,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>
@@ -3226,6 +3266,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>
@@ -3249,6 +3292,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>
@@ -3275,7 +3319,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>
@@ -3306,7 +3350,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>
@@ -3336,10 +3380,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>
@@ -3383,16 +3429,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>
@@ -3410,6 +3466,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>
@@ -3440,6 +3497,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"ಸ್ಥಬ್ಧವಾಗಿ ತೋರಿಸಿ ಮತ್ತು ಕಡಿಮೆ ಮಾಡಿ"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ಮೌನವಾಗಿ ತೋರಿಸಿ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ಧ್ವನಿ ಮಾಡಿ"</string>
@@ -3458,7 +3521,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>
@@ -3479,6 +3542,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>
@@ -3540,8 +3604,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>
@@ -3595,6 +3661,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>
@@ -3608,15 +3678,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">
@@ -3659,6 +3734,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>
@@ -3743,8 +3819,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 +3830,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 +3842,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>
@@ -3913,8 +3993,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>
@@ -4080,6 +4163,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>
@@ -4143,14 +4228,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 +4320,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>
@@ -4405,20 +4490,24 @@
     <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="5389656885733341448">"ಪೂರ್ವ-ಬಿಡುಗಡೆ ಡ್ರೈವರ್"</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_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) -->
+    <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>
@@ -4582,7 +4671,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 +4679,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>
@@ -4605,6 +4690,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>
@@ -4668,6 +4755,13 @@
     <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>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index de2e689..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"없음"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"없음"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"없음"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 66943f4..dca4e7d 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"검색 가능 제한시간"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"잠금 시 음성 다이얼링"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"화면 잠금 시 블루투스 다이얼러 사용 방지"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"블루투스 장치"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"기기 이름"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"기기 설정"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"프로필 설정"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"자동 클릭 시간"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"앱의 배터리 사용량이 평소와 같습니다. 앱에서 배터리를 너무 많이 사용하면 기기에서 취하실 수 있는 조치를 알려 드리겠습니다.\n\n배터리가 부족하면 언제든지 절전 모드를 사용 설정하세요."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"배터리 관리"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"자동으로 앱 관리"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"자주 사용하지 않는 앱의 배터리 사용량 제한"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"배터리 관리에서 배터리를 많이 소모하는 앱을 감지하면 이 앱을 제한할 수 있습니다. 제한된 앱이 제대로 작동하지 않을 수 있으며 알림이 지연될 수 있습니다."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"배터리 관리에서 배터리를 많이 소모하는 앱을 감지하면 이 앱을 제한할 수 있습니다. 제한된 앱이 제대로 작동하지 않을 수 있으며 알림이 지연될 수 있습니다."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"배터리 관리에서 배터리를 많이 소모하는 앱을 감지하면 이 앱을 제한할 수 있습니다. 제한된 앱이 제대로 작동하지 않을 수 있으며 알림이 지연될 수 있습니다."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"자주 사용하지 않는 앱의 배터리 사용량 제한"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"배터리 관리에서 배터리를 많이 소모하는 앱을 감지하면 이 앱을 제한할 수 있습니다. 제한된 앱이 제대로 작동하지 않을 수 있으며 알림이 지연될 수 있습니다."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"제한된 앱"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d개 앱의 배터리 사용량 제한</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"이 앱은 백그라운드에서 배터리를 사용 중입니다. 제한된 앱이 제대로 작동하지 않을 수 있으며 알림이 지연될 수 있습니다."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"배터리 관리 사용"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"앱에서 배터리를 많이 소모하면 감지"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"사용/앱에서 배터리를 많이 소모하면 감지"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"사용/앱에서 배터리를 많이 소모하면 감지"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"끄기"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">앱 %1$d개가 제한됨</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"이 사용자는 자격증명을 확인하거나 수정할 수 없습니다."</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN 및 앱에 사용하도록 설치됨"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi에 사용하도록 설치됨"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"앱의 설치 소스를 확인하기 위해 설치됨"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"콘텐츠를 모두 삭제하시겠습니까?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"앱 소스 인증서"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"위험을 감수하고 이 인증서 설치"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"앱 소스 인증서는 기기에서 안전하게 사용할 수 있는 앱임을 확인합니다. 신뢰할 수 있는 조직의 인증서만 설치하세요."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"사용자 인증서 1개"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"CA 인증서 1개"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"CA 인증서 %d개"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"앱 소스 인증서 1개"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"사용자 인증 정보 세부정보"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"삭제된 사용자 인증 정보: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"사용자 인증 정보가 설치되지 않음"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"다시 시작하여 인증서 사용"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"이 앱 소스 인증서를 사용하려면 기기를 다시 시작해야 합니다."</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"다시 시작하여 설치 제거 완료"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"이 앱 소스 인증서 설치를 제거하려면 기기를 다시 시작해야 합니다."</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"다시 시작"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"나중에"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"맞춤법 검사기"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"직장용 맞춤법 검사기"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"전체 백업에 대한 현재 사용중인 비밀번호를 입력하세요."</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"조용히 표시하고 최소화"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"조용히 표시"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"소리로 알림"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"출시 전 드라이버"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index 8abb338..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Эчтеке жок"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Жок"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM-карта"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Жок"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -314,7 +319,7 @@
     <item msgid="7921014514153395846">"SMS/MMS жазуу"</item>
     <item msgid="8997371825401751421">"Тууралоолорду өзгөртүү"</item>
     <item msgid="7005755175240764443">"Үстүнө тартуу"</item>
-    <item msgid="8267704990417682222">"Жетки эскертмелери"</item>
+    <item msgid="8267704990417682222">"Жетки билдирмелери"</item>
     <item msgid="3180676986290096851">"Камера"</item>
     <item msgid="9174072114281872917">"Аудио жаздыруу"</item>
     <item msgid="1444183972646890539">"Аудио ойнотуу"</item>
@@ -351,7 +356,7 @@
     <item msgid="3778165903878569143">"Сактагычтагы дайындарды окуу"</item>
     <item msgid="555939881912035315">"Сактагычка дайындарды жазуу"</item>
     <item msgid="4281352581602735717">"Экранды күйгүзүү"</item>
-    <item msgid="346122795998225472">"Каттоо эсептерин алуу"</item>
+    <item msgid="346122795998225472">"Аккаунттарды алуу"</item>
     <item msgid="3756073389408535680">"Фондо ойнотуу"</item>
     <item msgid="2114661179947426734">"Атайын мүмкүнчүлүктөрдүн үнүнүн катуулугу"</item>
   </string-array>
@@ -407,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 e19be28..a51183e 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Көрүнүктүүлүк убактысы"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Үн менен терүүнү кулпулансын"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Экран кулпуланып турганда Bluetooth тергичи колдонулбасын"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth түзмөктөрү"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Түзмөктүн аталышы"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Түзмөктүн тууралоолору"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Профайлдын тууралоолору"</string>
@@ -174,9 +140,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 +175,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>
@@ -259,8 +189,8 @@
     <string name="sdcard_settings_mass_storage_status" product="default" msgid="8850227049504860012">"SD-карта башкы сактагыч катары колдонулууда."</string>
     <string name="sdcard_settings_unmounted_status" product="nosdcard" msgid="1053258530368541571">"Эми USB сактагычты коопсуз чыгарып алсаңыз болот."</string>
     <string name="sdcard_settings_unmounted_status" product="default" msgid="5813940671700138561">"Эми SD картаны коопсуз ажыратса болот."</string>
-    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="209564009449909311">"USB сактагыч колдонулуп жатканда алынып салынды!"</string>
-    <string name="sdcard_settings_bad_removal_status" product="default" msgid="6817342973919819392">"SD карта колдонулуп жатканда алынып салынды!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="nosdcard" msgid="209564009449909311">"USB сактагыч колдонулуп жатканда өчүрүлдү!"</string>
+    <string name="sdcard_settings_bad_removal_status" product="default" msgid="6817342973919819392">"SD карта колдонулуп жатканда өчүрүлдү!"</string>
     <string name="sdcard_settings_used_bytes_label" msgid="5646588579332741943">"Колдонулган байттар:"</string>
     <string name="sdcard_settings_scanning_status" product="nosdcard" msgid="8037280964384235345">"USB сактагчтн медиа изделүүдө…"</string>
     <string name="sdcard_settings_scanning_status" product="default" msgid="3297316465982471437">"SD картадан медиа изделүүдө…"</string>
@@ -285,10 +215,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 +233,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 +240,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 +283,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 +312,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>
@@ -428,7 +350,7 @@
     <string name="face_intro_error_unknown" msgid="1626057493054989995">"Дагы жүздөрдү кошуу мүмкүн эмес"</string>
     <string name="security_settings_face_enroll_error_dialog_title" msgid="2460820099922775936">"Жүз кошулган жок"</string>
     <string name="security_settings_face_enroll_dialog_ok" msgid="1674650455786434426">"ЖАРАЙТ"</string>
-    <string name="security_settings_face_enroll_error_timeout_dialog_message" msgid="7768349698547951750">"Жүздү каттоо боюнча убакыт чегине жетти. Кайра аракет кылыңыз."</string>
+    <string name="security_settings_face_enroll_error_timeout_dialog_message" msgid="7768349698547951750">"Жүздү каттоо боюнча убакыт чегине жетти. Кайталап көрүңүз."</string>
     <string name="security_settings_face_enroll_error_generic_dialog_message" msgid="3186810411630091490">"Жүздү каттоо ишке ашкан жок."</string>
     <string name="security_settings_face_enroll_finish_title" msgid="5882322568359775393">"Баары жөндөлдү. Сүрөтүңүз жакшы чыкты."</string>
     <string name="security_settings_face_enroll_done" msgid="3048687969498187442">"Бүттү"</string>
@@ -514,7 +436,7 @@
     <string name="security_settings_fingerprint_enroll_touch_dialog_title" msgid="5742429501012827526">"Ой, ал сенсор эмес"</string>
     <string name="security_settings_fingerprint_enroll_touch_dialog_message" msgid="7172969336386036998">"Телефонуңуздун аркасындагы сенсорго сөөмөйүңүз менен тийиңиз."</string>
     <string name="security_settings_fingerprint_enroll_error_dialog_title" msgid="132085362209418770">"Манжа изи кошулган жок"</string>
-    <string name="security_settings_fingerprint_enroll_error_timeout_dialog_message" msgid="5479647886550695766">"Манжа изин каттоо убакыты чегине жетти. Кайра аракет кылыңыз."</string>
+    <string name="security_settings_fingerprint_enroll_error_timeout_dialog_message" msgid="5479647886550695766">"Манжа изин каттоо убакыты чегине жетти. Кайталап көрүңүз."</string>
     <string name="security_settings_fingerprint_enroll_error_generic_dialog_message" msgid="6068935528640241271">"Манжа изи кошулбай калды. Кайра кайталап көрүңүз же башка манжаңыздын изин сактаңыз."</string>
     <string name="fingerprint_enroll_button_add" msgid="6652490687672815760">"Дагы бирди кошуу"</string>
     <string name="fingerprint_enroll_button_next" msgid="1034110123277869532">"Кийинки"</string>
@@ -534,12 +456,12 @@
     <string name="crypt_keeper_encrypt_title" product="tablet" msgid="7484150746479958376">"Планшетти шифрлөө"</string>
     <string name="crypt_keeper_encrypt_title" product="default" msgid="8302873664348463041">"Телефонду шифрлөө"</string>
     <string name="crypt_keeper_encrypted_summary" msgid="3866488451639592071">"Шифрленген"</string>
-    <string name="crypt_keeper_desc" product="tablet" msgid="4103951371711323192">"Каттоо эсептериңизди, жөндөөлөрүңүздү, жүктөп алынган колдонмолоруңузду жана алардын дайындарын, медиа жана башка файлдарды шифрлей аласыз. Планшетиңиз шифрленгенден кийин, экран кулпуланганда (башкача айтканда, үлгү же сандык PIN же сырсөз менен), планшетиңиз күйгүзүлгөн сайын, аны дешифрлөө үчүн экрандын кулпусун ачууга туура келет. Дешифрлөөнүн бирден-бир жалгыз жолу – бардык дайындарыңызды өчүрүү менен, планшетиңизди демейки абалга кайтаруу.\n\nШифрлөөгө бир саат же көбүрөөк убакыт талап кылынышы мүмкүн. Ишти кубатталган батарея менен баштап, процесс аягына чейин чыкмайынча, планшетиңизди суурубай туруңуз. Эгер аны үзгүлтүккө учуратсаңыз, айрым дайындарыңызды же баарын жоготуп алышыңыз мүмкүн."</string>
-    <string name="crypt_keeper_desc" product="default" msgid="6180866043921135548">"Каттоо эсептериңизди, жөндөөлөрүңүздү, жүктөп алынган колдонмолоруңузду жана алардын дайындарын, медиа жана башка файлдарды шифрлей аласыз. Телефонуңуз шифрленгенден кийин, экран кулпуланганда (башкача айтканда, үлгү же сандык PIN же сырсөз менен), телефонуңуз күйгүзүлгөн сайын, аны дешифрлөө үчүн экрандын кулпусун ачууга туура келет. Дешифрлөөнүн бирден-бир жалгыз жолу – бардык дайындарыңызды өчүрүү менен, телефонуңузду демейки абалга кайтаруу.\n\nШифрлөөгө бир саат же көбүрөөк убакыт талап кылынышы мүмкүн. Ишти кубатталган батарея менен баштап, процесс аягына чейин чыкмайынча, телефонуңузду суурубай туруңуз. Эгер аны үзгүлтүккө учуратсаңыз, айрым дайындарыңызды же баарын жоготуп алышыңыз мүмкүн."</string>
+    <string name="crypt_keeper_desc" product="tablet" msgid="4103951371711323192">"Аккаунттарыңызды, жөндөөлөрүңүздү, жүктөп алынган колдонмолоруңузду жана алардын дайындарын, медиа жана башка файлдарды шифрлей аласыз. Планшетиңиз шифрленгенден кийин, экран кулпуланганда (башкача айтканда, үлгү же сандык PIN же сырсөз менен), планшетиңиз күйгүзүлгөн сайын, аны дешифрлөө үчүн экрандын кулпусун ачууга туура келет. Дешифрлөөнүн бирден-бир жалгыз жолу – бардык дайын-даректериңизди өчүрүү менен, планшетиңизди демейки абалга кайтаруу.\n\nШифрлөөгө бир саат же көбүрөөк убакыт талап кылынышы мүмкүн. Ишти кубатталган батарея менен баштап, процесс аягына чейин чыкмайынча, планшетиңизди суурубай туруңуз. Эгер аны үзгүлтүккө учуратсаңыз, айрым дайын-даректериңизди же баарын жоготуп алышыңыз мүмкүн."</string>
+    <string name="crypt_keeper_desc" product="default" msgid="6180866043921135548">"Аккаунттарыңызды, жөндөөлөрүңүздү, жүктөп алынган колдонмолоруңузду жана алардын дайындарын, медиа жана башка файлдарды шифрлей аласыз. Телефонуңуз шифрленгенден кийин, экран кулпуланганда (башкача айтканда, үлгү же сандык PIN же сырсөз менен), телефонуңуз күйгүзүлгөн сайын, аны дешифрлөө үчүн экрандын кулпусун ачууга туура келет. Дешифрлөөнүн бирден-бир жалгыз жолу – бардык дайын-даректериңизди өчүрүү менен, телефонуңузду демейки абалга кайтаруу.\n\nШифрлөөгө бир саат же көбүрөөк убакыт талап кылынышы мүмкүн. Ишти кубатталган батарея менен баштап, процесс аягына чейин чыкмайынча, телефонуңузду суурубай туруңуз. Эгер аны үзгүлтүккө учуратсаңыз, айрым дайын-даректериңизди же баарын жоготуп алышыңыз мүмкүн."</string>
     <string name="crypt_keeper_button_text" product="tablet" msgid="5551608011810921471">"Планшетти шифрлөө"</string>
     <string name="crypt_keeper_button_text" product="default" msgid="6370330929679426136">"Телефонду шифрлөө"</string>
     <string name="crypt_keeper_low_charge_text" msgid="4920087247177024521">"Батарейди дүрмөттөп, кайрадан аракет кылыңыз."</string>
-    <string name="crypt_keeper_unplugged_text" msgid="2709721134148651329">"Дүрмөттөөчү түзмөгүңүздү туташтырып, кайра аракет кылыңыз."</string>
+    <string name="crypt_keeper_unplugged_text" msgid="2709721134148651329">"Дүрмөттөөчү түзмөгүңүздү туташтырып, кайталап көрүңүз."</string>
     <string name="crypt_keeper_dialog_need_password_title" msgid="1847280235529858357">"Экран кулпусунун PIN коду же сырсөзү жок"</string>
     <string name="crypt_keeper_dialog_need_password_message" msgid="7210616262954236042">"Шифрлөөнү баштаардан мурун, сиз экранды бөгөтөөчү PIN же сырсөз коюшуңуз керек."</string>
     <string name="crypt_keeper_confirm_title" msgid="8600000209722452230">"Шифрлейлиби?"</string>
@@ -624,35 +546,35 @@
     <string name="unlock_disable_frp_warning_content_pattern" msgid="669384600341275312">"Графикалык ачкычсыз түзмөктү коргоо функциялары иштебейт."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="8160948976853039106">"Графикалык ачкычыңызсыз түзмөгүңүздү коргоо функциялары иштебейт.<xliff:g id="EMPTY_LINE">
 
-</xliff:g>Сакталган манжа издериңиз да бул түзмөктөн алынып салынат жана алардын жардамы менен түзмөгүңүздүн кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
+</xliff:g>Сакталган манжа издериңиз да бул түзмөктөн өчүрүлөт жана алардын жардамы менен түзмөгүңүздүн кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="3732073290049930632">"PIN кодсуз түзмөктү коргоо функциялары иштебейт."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="2018020861756931097">"PIN кодуңузсуз түзмөктү коргоо функциялары иштебейт.<xliff:g id="EMPTY_LINE">
 
-</xliff:g>Сакталган манжа издериңиз да бул түзмөктөн алынып салынат жана алардын жардамы менен түзмөгүңүздүн кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
+</xliff:g>Сакталган манжа издериңиз да бул түзмөктөн өчүрүлөт жана алардын жардамы менен түзмөгүңүздүн кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="2130004168084396797">"Сырсөзүңүзсүз түзмөктү коргоо функциялары иштебейт."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8455564842615579472">"Сырсөзүңүзсүз түзмөктү коргоо функциялары иштебейт.<xliff:g id="EMPTY_LINE">
 
-</xliff:g>Сакталган манжа издериңиз да бул түзмөктөн алынып салынат жана алар менен телефонуңуздун кулпусун ачып, сатып алууга уруксат берип же аккаунтка кире албай каласыз."</string>
+</xliff:g>Сакталган манжа издериңиз да бул түзмөктөн өчүрүлөт жана алар менен телефонуңуздун кулпусун ачып, сатып алууга уруксат берип же аккаунтка кире албай каласыз."</string>
     <string name="unlock_disable_frp_warning_content_unknown" msgid="8903568674104115231">"Экраныңыздын кулпусусуз түзмөктү коргоо функциялары иштебейт."</string>
     <string name="unlock_disable_frp_warning_content_unknown_fingerprint" msgid="4985095359625056279">"Экраныңыздын кулпусусуз түзмөктү коргоо функциялары иштебейт.<xliff:g id="EMPTY_LINE">
 
-</xliff:g>Сакталган манжа издериңиз да бул түзмөктөн алынып салынат жана алардын жардамы менен түзмөгүңүздүн кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
+</xliff:g>Сакталган манжа издериңиз да бул түзмөктөн өчүрүлөт жана алардын жардамы менен түзмөгүңүздүн кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
     <string name="unlock_disable_frp_warning_content_pattern_profile" msgid="6850770024037691891">"Графикалык ачкычыңызсыз профилди коргоо функциялары иштебейт."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint_profile" msgid="313998125412427527">"Графикалык ачкычыңызсыз профилди коргоо функциялары иштебейт.<xliff:g id="EMPTY_LINE">
 
-</xliff:g>Сакталган манжа издериңиз да бул профилден алынып салынат жана алардын жардамы менен профилиңиздин кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
+</xliff:g>Сакталган манжа издериңиз да бул профилден өчүрүлөт жана алардын жардамы менен профилиңиздин кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
     <string name="unlock_disable_frp_warning_content_pin_profile" msgid="6328378875803145738">"PIN кодуңузсуз профилди коргоо функциялары иштебейт."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint_profile" msgid="6844729803535310058">"PIN кодуңузсуз профилди коргоо функциялары иштебейт.<xliff:g id="EMPTY_LINE">
 
-</xliff:g>Сакталган манжа издериңиз да бул профилден алынып салынат жана алардын жардамы менен профилиңиздин кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
+</xliff:g>Сакталган манжа издериңиз да бул профилден өчүрүлөт жана алардын жардамы менен профилиңиздин кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
     <string name="unlock_disable_frp_warning_content_password_profile" msgid="6922335143823758149">"Сырсөзүңүзсүз профилди коргоо функциялары иштебейт."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint_profile" msgid="5724824564583660260">"Сырсөзүңүзсүз профилди коргоо функциялары иштебейт.<xliff:g id="EMPTY_LINE">
 
-</xliff:g>Сакталган манжа издериңиз да бул профилден алынып салынат жана алардын жардамы менен профилиңиздин кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
+</xliff:g>Сакталган манжа издериңиз да бул профилден өчүрүлөт жана алардын жардамы менен профилиңиздин кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
     <string name="unlock_disable_frp_warning_content_unknown_profile" msgid="6886183964362015704">"Экраныңыздын кулпусусуз профилди коргоо функциялары иштебейт."</string>
     <string name="unlock_disable_frp_warning_content_unknown_fingerprint_profile" msgid="3754195701700959477">"Экраныңыздын кулпусусуз профилди коргоо функциялары иштебейт.<xliff:g id="EMPTY_LINE">
 
-</xliff:g>Сакталган манжа издериңиз да бул профилден алынып салынат жана алардын жардамы менен профилиңиздин кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
+</xliff:g>Сакталган манжа издериңиз да бул профилден өчүрүлөт жана алардын жардамы менен профилиңиздин кулпусун ачып, ар кандай нерселерди сатып алып же аккаунтка кире албай каласыз."</string>
     <string name="unlock_disable_frp_warning_ok" msgid="621607297961726537">"Ооба, өчүрүлсүн"</string>
     <string name="unlock_change_lock_pattern_title" msgid="8234523589333929193">"Кулпн ачуу үлгсн өзгрт"</string>
     <string name="unlock_change_lock_pin_title" msgid="2324077520816477479">"Клпн ачуу PIN кдн өзгр"</string>
@@ -661,7 +583,7 @@
     <string name="unlock_footer_medium_complexity_requested" msgid="5515870066751600640">"<xliff:g id="APP_NAME">%1$s</xliff:g> колонмосу жаңы PIN кодду же сырсөздү сунуштайт, ансыз талапка ылайык иштебеши мүмкүн"</string>
     <string name="unlock_footer_low_complexity_requested" msgid="2517656037576567971">"<xliff:g id="APP_NAME">%1$s</xliff:g> колонмосу жаңы графикалык ачкычты, PIN кодду же сырсөздү сунуштайт, ансыз талапка ылайык иштебеши мүмкүн"</string>
     <string name="unlock_footer_none_complexity_requested" msgid="8534900170428140529">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосу экрандын жаңы кулпусун сунуштайт"</string>
-    <string name="lock_failed_attempts_before_wipe" msgid="6874652886647631418">"Кайра аракет кылыңыз. <xliff:g id="TOTAL_ATTEMPTS">%2$d</xliff:g> аракеттен <xliff:g id="CURRENT_ATTEMPTS">%1$d</xliff:g> аракет калды."</string>
+    <string name="lock_failed_attempts_before_wipe" msgid="6874652886647631418">"Кайталап көрүңүз. <xliff:g id="TOTAL_ATTEMPTS">%2$d</xliff:g> аракеттен <xliff:g id="CURRENT_ATTEMPTS">%1$d</xliff:g> аракет калды."</string>
     <string name="lock_last_attempt_before_wipe_warning_title" msgid="7450322567217745999">"Дайын-даректериңиз өчүрүлөт"</string>
     <string name="lock_last_pattern_attempt_before_wipe_device" msgid="5816668400104558952">"Эгер графикалык ачкычты кийинки жолу туура эмес киргизсеңиз, бул түзмөктүн дайындары өчүрүлөт"</string>
     <string name="lock_last_pin_attempt_before_wipe_device" msgid="2815681042623708775">"Эгер PIN кодду кийинки жолу туура эмес киргизсеңиз, бул түзмөктүн дайындары өчүрүлөт"</string>
@@ -693,7 +615,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 +645,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>
@@ -791,7 +716,7 @@
     <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth күйгүзүлгөндө түзмөгүңүз жакын арадагы башка Bluetooth түзмөктөрү менен байланыша алат."</string>
     <string name="bluetooth_scanning_on_info_message" msgid="4069064120315578780">"Bluetooth күйгүзүлгөндө түзмөгүңүз жакын жердеги башка Bluetooth түзмөктөрү менен байланышат.\n\nТүзмөктүн колдонулушун жакшыртуу максатында, колдонмолор менен кызматтар жакын жердеги түзмөктөрдү каалаган убакта, ошондой эле Bluetooth өчүрүлгөн учурда да издей беришет. Бул, мисалы, жайгашкан жердин тактыгын жана дайындардын негизинде көрсөтүлүүчү кызматтарды жакшыртуу үчүн колдонулушу мүмкүн. Бул функцияны "<annotation id="link">"издөө жөндөөлөрүнөн"</annotation>" өзгөртсөңүз болот."</string>
     <string name="ble_scan_notify_text" msgid="1358879010396045164">"Кандайдыр бир жерди тагыраак аныктоо үчүн, тутум колдонмолору жана кызматтар жакын арадагы Bluetooth түзмөктөрүн издей берет. Бул функцияны <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>издөө жөндөөлөрүнөн<xliff:g id="LINK_END_1">LINK_END</xliff:g> өзгөртсөңүз болот."</string>
-    <string name="bluetooth_connect_failed" msgid="7892663424429584925">"Туташпай калды. Кайра аракет кылыңыз."</string>
+    <string name="bluetooth_connect_failed" msgid="7892663424429584925">"Туташпай калды. Кайталап көрүңүз."</string>
     <string name="device_details_title" msgid="1155622417516195481">"Түзмөктүн чоо-жайы"</string>
     <string name="bluetooth_device_mac_address" msgid="4873325074786732703">"Түзмөктүн Bluetooth дареги: <xliff:g id="ADDRESS">%1$s</xliff:g>"</string>
     <string name="bluetooth_unpair_dialog_title" msgid="6943633443716052995">"Түзмөк унутулсунбу?"</string>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,13 +896,15 @@
     <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_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_check_connection_try_again" msgid="6118892932595974823">"Туташууну текшерип, кайра аракет кылыңыз"</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>
     <string name="wifi_dpp_add_device_to_wifi" msgid="5170095438763569255">"Бул түзмөк \"<xliff:g id="SSID">%1$s</xliff:g>\" тармагына кошулсунбу?"</string>
@@ -984,11 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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>
@@ -1164,7 +1115,7 @@
     <string name="lock_sounds_enable_title" msgid="804365014499259673">"Бөгөттөөчү көшөгөнүн үнү"</string>
     <string name="audio_record_proc_title" msgid="486071779724181619">"Чуу басар"</string>
     <string name="volume_media_description" msgid="2736061076584067204">"Музыка, видео, оюндар, жана башка медиалар"</string>
-    <string name="volume_ring_description" msgid="5423168446359881864">"Рингтон жана эскертмелер"</string>
+    <string name="volume_ring_description" msgid="5423168446359881864">"Рингтон жана билдирмелер"</string>
     <string name="volume_notification_description" msgid="3241009629930030492">"Билдирмелер"</string>
     <string name="volume_alarm_description" msgid="156563371961039376">"Ойготкучтар"</string>
     <string name="volume_ring_mute" msgid="1445718401945149622">"Шыңгырактын жана эскертмелердин үнүн басуу"</string>
@@ -1272,13 +1223,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 +1246,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>
@@ -1357,7 +1313,7 @@
     <string name="system_update_settings_list_item_title" msgid="3398346836439366350">"Тутум жаңыртуулары"</string>
     <string name="system_update_settings_list_item_summary" msgid="6703752298349642101"></string>
     <string name="firmware_version" msgid="1606901586501447275">"Android версиясы"</string>
-    <string name="security_patch" msgid="2872125288404962091">"Коопсуздук тутуму качан жаңыртылды"</string>
+    <string name="security_patch" msgid="2872125288404962091">"Коопсуздук тутуму качан жаңырды"</string>
     <string name="model_info" msgid="8997566254717810904">"Үлгүсү"</string>
     <string name="model_summary" msgid="2246651782442466213">"Үлгүсү: %1$s"</string>
     <string name="hardware_info" msgid="7035211991066637019">"Түзмөктүн үлгүсү/аппараттык камсыздалышы"</string>
@@ -1379,6 +1335,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 +1362,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>
@@ -1446,8 +1404,8 @@
     <string name="dlg_confirm_unmount_text" product="default" msgid="3887768438615563697">"SD-картаны ажыратсаңыз, пайдаланылып жаткан кээ бир колдонмолор токтоп калат жана SD-картаны кайра орнотмоюнча жеткиликсиз болот."</string>
     <string name="dlg_error_unmount_title" product="nosdcard" msgid="2205587942165199845"></string>
     <string name="dlg_error_unmount_title" product="default" msgid="2205587942165199845"></string>
-    <string name="dlg_error_unmount_text" product="nosdcard" msgid="7876201891724279436">"USB сактагычты ажыратуу мүмкүн эмес. Кийинчерээк кайталаңыз."</string>
-    <string name="dlg_error_unmount_text" product="default" msgid="2185659901137961711">"SD-картаны ажыратуу мүмкүн эмес. Кийинчерээк кайталаңыз."</string>
+    <string name="dlg_error_unmount_text" product="nosdcard" msgid="7876201891724279436">"USB сактагычты ажыратуу мүмкүн эмес. Бир аздан кийин кайталап көрүңүз."</string>
+    <string name="dlg_error_unmount_text" product="default" msgid="2185659901137961711">"SD-картаны ажыратуу мүмкүн эмес. Бир аздан кийин кайталап көрүңүз."</string>
     <string name="unmount_inform_text" product="nosdcard" msgid="5932607205977999175">"USB сактагыч ажыратылат."</string>
     <string name="unmount_inform_text" product="default" msgid="716578785262713312">"SD карта ажыратылат."</string>
     <string name="sd_ejecting_title" msgid="1641122369013595273">"Ажыратылууда"</string>
@@ -1617,6 +1575,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>
@@ -1629,7 +1588,7 @@
     <string name="network_reset_not_available" msgid="1966334631394607829">"Бул колдонуучу тармакты баштапкы абалына келтире албайт"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Тармак жөндөөлөрү баштапкы абалга келди"</string>
     <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM карталар тазаланбай жатат"</string>
-    <string name="reset_esim_error_msg" msgid="4441504470684307370">"Жүктөлүп алынган SIM карталарды катадан улам тазалоого болбойт.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайра аракет кылыңыз."</string>
+    <string name="reset_esim_error_msg" msgid="4441504470684307370">"Жүктөлүп алынган SIM карталарды катадан улам тазалоого болбойт.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайталап көрүңүз."</string>
     <string name="master_clear_title" msgid="5309249309235959383">"Бардык дайындарды тазалоо (баштапкы абалга келтирүү)"</string>
     <string name="master_clear_short_title" msgid="5331449583601739360">"Бардык дайындарды тазалоо"</string>
     <string name="master_clear_desc" product="tablet" msgid="3114467865487750525">"Планшетиңиздин "<b>"ички сактагычындагы"</b>" бардык маалымат өчүрүлөт, тактап айтканда:\n\n"<li>"Google аккаунтуңуз"</li>\n<li>"Тутумдун жана колдонмолордун жөндөөлөрү жана дайындары"</li>\n<li>"Жүктөлүп алынган колдонмолор"</li></string>
@@ -1666,6 +1625,9 @@
     <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="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>
@@ -1743,7 +1705,7 @@
     <string name="copyright_title" msgid="83245306827757857">"Автордук укук"</string>
     <string name="license_title" msgid="8745742085916617540">"Уруксаттама"</string>
     <string name="module_license_title" msgid="8705484239826702828">"Google Play тутумун жаңыртуу уруксаттамалары"</string>
-    <string name="terms_title" msgid="2071742973672326073">"Шарттар жана жоболор"</string>
+    <string name="terms_title" msgid="2071742973672326073">"Пайдалануу шарттары"</string>
     <string name="webview_license_title" msgid="5832692241345780517">"WebView тутум уруксаттамасы"</string>
     <string name="wallpaper_attributions" msgid="3080339190260272255">"Тушкагаздар"</string>
     <string name="wallpaper_attributions_values" msgid="987277439026021925">"Спутник сүрөттөрү:\n©2014 CNES/Astrium, DigitalGlobe, Bluesky"</string>
@@ -1756,9 +1718,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 +1726,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>
@@ -1825,7 +1787,7 @@
     <string name="lockpattern_settings_choose_lock_pattern" msgid="2193588309557281466">"Кулпуну ачуу үлгүсүн коюу"</string>
     <string name="lockpattern_settings_change_lock_pattern" msgid="7614155083815661347">"Кулпуну ачуу үлгүсүн өзгөртүү"</string>
     <string name="lockpattern_settings_help_how_to_record" msgid="2093801939046625774">"Кулпуну ачуу үлгүсүн кантип тартыш керек"</string>
-    <string name="lockpattern_too_many_failed_confirmation_attempts" msgid="7891484005551794824">"Туура эмес аракеттер өтө көп болду. <xliff:g id="NUMBER">%d</xliff:g> секунддан кийин кайра аракет кылыңыз."</string>
+    <string name="lockpattern_too_many_failed_confirmation_attempts" msgid="7891484005551794824">"Туура эмес аракеттер өтө көп болду. <xliff:g id="NUMBER">%d</xliff:g> секунддан кийин кайталап көрүңүз."</string>
     <string name="activity_not_found" msgid="5464331414465894254">"Колдонмо сиздин телефонуңузда орнотулган эмес."</string>
     <string name="lock_settings_profile_title" msgid="103605580492566086">"Жумуш профилинин коопсуздугу"</string>
     <string name="lock_settings_profile_screen_lock_title" msgid="3776275029218681815">"Жумуш профилинин экран кулпусу"</string>
@@ -1897,7 +1859,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>
@@ -1934,8 +1896,8 @@
     <string name="insufficient_storage" msgid="8115088042669030558">"Сактагычта орун жетишсиз."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Мындай колдонмо жок."</string>
     <string name="invalid_location" msgid="8013853455355520557">"Орнотуу орду жараксыз."</string>
-    <string name="system_package" msgid="7559476279008519360">"Системдин жаңыртуулары сырткы сактагычка орнотулбайт."</string>
-    <string name="move_error_device_admin" msgid="1561502976834303626">"Түзмөктү башкарган колдонмо сырткы сактагычка орнотулбайт"</string>
+    <string name="system_package" msgid="7559476279008519360">"Системдин жаңыртуулары тышкы сактагычка орнотулбайт."</string>
+    <string name="move_error_device_admin" msgid="1561502976834303626">"Түзмөктү башкарган колдонмо тышкы сактагычка орнотулбайт"</string>
     <string name="force_stop_dlg_title" msgid="86745852555490146">"Токтотулсунбу?"</string>
     <string name="force_stop_dlg_text" msgid="1527286468544457368">"Колдонмону токтотсоңуз, ал туура эмес иштеп калышы мүмкүн."</string>
     <string name="app_install_location_title" msgid="8932938164156303191">"Орнотууга тандалган жер"</string>
@@ -2097,7 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"авто-чыкылдатуу убакыты"</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_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 +2182,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>
@@ -2381,9 +2395,9 @@
       <item quantity="other">%1$d колдонмо чектелсинби?</item>
       <item quantity="one">Колдонмо чектелсинби?</item>
     </plurals>
-    <string name="battery_tip_restrict_app_dialog_message" msgid="137856003724730751">"Батареяны үнөмдөө максатында, <xliff:g id="APP">%1$s</xliff:g> колдонмосунун фондо иштөөсүн токтотуп койсоңуз болот. Колдонмо талаптагыдай иштебей, эскертмелери кечигүү менен көрсөтүлүшү мүмкүн."</string>
-    <string name="battery_tip_restrict_apps_less_than_5_dialog_message" msgid="5894648804112181324">"Батареяны үнөмдөө максатында, бул колдонмолордун фондо иштөөсүн токтотуп койсоңуз болот. Чектелген колдонмолор талаптагыдай иштебей, эскертмелери кечигүү менен көрсөтүлүшү мүмкүн.\n\nКолдонмолор:"</string>
-    <string name="battery_tip_restrict_apps_more_than_5_dialog_message" msgid="4546838397423565138">"Батареяны үнөмдөө максатында, бул колдонмолордун фондо иштөөсүн токтотуп койсоңуз болот. Чектелген колдонмолор талаптагыдай иштебей, эскертмелери кечигүү менен көрсөтүлүшү мүмкүн.\n\nКолдонмолор:\n<xliff:g id="APP_LIST">%1$s</xliff:g>."</string>
+    <string name="battery_tip_restrict_app_dialog_message" msgid="137856003724730751">"Батареяны үнөмдөө максатында, <xliff:g id="APP">%1$s</xliff:g> колдонмосунун фондо иштөөсүн токтотуп койсоңуз болот. Колдонмо талаптагыдай иштебей, билдирмелери кечигүү менен көрсөтүлүшү мүмкүн."</string>
+    <string name="battery_tip_restrict_apps_less_than_5_dialog_message" msgid="5894648804112181324">"Батареяны үнөмдөө максатында, бул колдонмолордун фондо иштөөсүн токтотуп койсоңуз болот. Чектелген колдонмолор талаптагыдай иштебей, билдирмелери кечигүү менен көрсөтүлүшү мүмкүн.\n\nКолдонмолор:"</string>
+    <string name="battery_tip_restrict_apps_more_than_5_dialog_message" msgid="4546838397423565138">"Батареяны үнөмдөө максатында, бул колдонмолордун фондо иштөөсүн токтотуп койсоңуз болот. Чектелген колдонмолор талаптагыдай иштебей, билдирмелери кечигүү менен көрсөтүлүшү мүмкүн.\n\nКолдонмолор:\n<xliff:g id="APP_LIST">%1$s</xliff:g>."</string>
     <string name="battery_tip_restrict_app_dialog_ok" msgid="7025027696689301916">"Чектөө"</string>
     <string name="battery_tip_unrestrict_app_dialog_title" msgid="5501997201160532301">"Чектөөлөр өчүрүлсүнбү?"</string>
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Бул колдонмо батареяны фондо колдоно берет. Батареяңыз күтүлгөндөн эртерээк отуруп калышы мүмкүн."</string>
@@ -2394,20 +2408,18 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Колдонмолоруңуз батареяны орточо деңгээлде колдонуп жатышат. Эгер алар батареяны өтө көп колдонушса, түзмөгүңүз ал боюнча чара көрүүнү сунуштайт.\n\nЭгер батареяңыз азайып баратса, каалаган убакта Батареяны үнөмдөгүч режимин күйгүзүп койсоңуз болот."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Колдонмолорду автоматтык түрдө башкаруу"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Сейрек колдонулган колдонмолор чектелген режимде иштешет"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Battery Manager колдонмолор батареяны тез сарптап жатканын аныктаганда, ошол колдонмолорду чектеп койсоңуз болот. Чектелген колдонмолор талаптагыдай иштебей, эскертмелери кечигүү менен көрсөтүлүшү мүмкүн."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Battery Manager колдонмолор батареяны тез сарптап жатканын аныктаганда, ошол колдонмолорду чектеп койсоңуз болот. Чектелген колдонмолор талаптагыдай иштебей, эскертмелери кечигүү менен көрсөтүлүшү мүмкүн."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Battery Manager колдонмолор батареяны тез сарптап жатканын аныктаганда, ошол колдонмолорду чектеп койсоңуз болот. Чектелген колдонмолор талаптагыдай иштебей, эскертмелери кечигүү менен көрсөтүлүшү мүмкүн."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Сейрек колдонулган колдонмолор чектелген режимде иштешет"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Battery Manager колдонмолор батареяны тез сарптап жатканын аныктаганда, ошол колдонмолорду чектеп койсоңуз болот. Чектелген колдонмолор талаптагыдай иштебей, билдирмелери кечигүү менен көрсөтүлүшү мүмкүн."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Чектелген колдонмолор"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d колдонмо батареяны чектелген режимде колдонуп жатат</item>
       <item quantity="one">%1$d колдонмо батареяны чектелген режимде колдонуп жатат</item>
     </plurals>
     <string name="restricted_app_time_summary" msgid="3097721884155913252">"<xliff:g id="TIME">%1$s</xliff:g> чектелди"</string>
-    <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Бул колдонмолор батареяны фондо колдонуп жатат. Чектелген колдонмолор талаптагыдай иштебей, эскертмелери кечигүү менен көрсөтүлүшү мүмкүн."</string>
+    <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Бул колдонмолор батареяны фондо колдонуп жатат. Чектелген колдонмолор талаптагыдай иштебей, билдирмелери кечигүү менен көрсөтүлүшү мүмкүн."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Battery Manager\'ди колдонуу"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Колдонмолордун батареяны тез сарптаганы аныкталсын"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Күйүк / Колдонмолордун батареяны тез сарптаганы аныкталууда"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Күйүк / Колдонмолордун батареяны тез сарптаганы аныкталууда"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Өчүк"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d колдонмо чектелген</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Бул колдонуучу далдаштырма дайындарын колдоно албайт"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN жана колдонмолор үчүн орнотулган"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi үчүн орнотулган"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Орнотулган колдонмонун булагын текшерүү үчүн орнотулду"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Бардык мазмундар өчүрүлсүнбү?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Колдонмонун булагынын тастыктамасы"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Бул тастыктаманын коопсуздугу үчүн өзүңүз гана жооп бересиз"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Колдонмонун булагынын тастыктамалары колдонмолор түзмөгүңүз үчүн коопсуз экенин ырасташат. Ишенимдүү уюмдардын тастыктамаларын гана колдонуңуз."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2675,7 +2701,7 @@
     <string name="managed_profile_not_available_label" msgid="7500578232182547365">"Жумуш профили азырынча жеткиликтүү эмес"</string>
     <string name="work_mode_label" msgid="1001415270126064436">"Жумуш профили"</string>
     <string name="work_mode_on_summary" msgid="2042885311126239961">"Уюмуңуз тарабынан башкарылат"</string>
-    <string name="work_mode_off_summary" msgid="4044568753909036134">"Колдонмолор менен эскертмелер өчүк"</string>
+    <string name="work_mode_off_summary" msgid="4044568753909036134">"Колдонмолор менен билдирмелер өчүк"</string>
     <string name="remove_managed_profile_label" msgid="1294933737673830431">"Жумуш профилин алып салуу"</string>
     <string name="background_data" msgid="321903213000101158">"Фондук дайындар"</string>
     <string name="background_data_summary" msgid="6572245922513522466">"Колдонмолордо каалаган убакта синхрондошуу, берилиштерди жөнөтүп, кабыл алуу мүмкүнчүлүгү бар"</string>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"бир колдонуучу тастыктамасы"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"бир CA тастыктамасы"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA тастыктамасы"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"бир колдонмонун булагынын тастыктамасы"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Эсептик дайындардын чоо-жайы"</string>
-    <string name="user_credential_removed" msgid="4087675887725394743">"Эсептик дайындар алынып салынды: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
+    <string name="user_credential_removed" msgid="4087675887725394743">"Эсептик дайындар өчүрүлдү: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Бир да колдонуучунун каттоо маалыматы сактала элек"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Тастыктаманы колдонуу үчүн өчүрүп күйгүзүңүз"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Бул колдонмонун булагынын тастыктамасын колдонуу үчүн түзмөгүңүздү өчүрүп, кайра күйгүзүшүңүз керек"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Чыгарып салуу үчүн өчүрүп, кайра күйгүзүңүз"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Бул колдонмонун булагынын тастыктамасын чыгарып салуу үчүн түзмөгүңүздү өчүрүп, кайра күйгүзүшүңүз керек"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Өчүрүп күйгүзүү"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Азыр эмес"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Орфографияны текшергич"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Жумуш үчүн орфографияны текшергич"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Учурдагы сырсөздү териңиз"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3193,11 +3226,12 @@
     <string name="keywords_display_adaptive_sleep" msgid="8003895686008403685">"экранды бүдөмүктөтүү, уйку режими, батарея, экрандын өчүү убакыты, көңүл буруу, дисплей, экран, аракетсиздик"</string>
     <string name="keywords_auto_rotate" msgid="7914655570000378975">"буруу, көрсөтүү, айлануу, тигинен, туурасынан, багыт, вертикалдык, горизонталдык"</string>
     <string name="keywords_system_update_settings" msgid="5769003488814164931">"кийинки версияга көтөрүү, android"</string>
-    <string name="keywords_zen_mode_settings" msgid="7810203406522669584">"та, график, эскертмелер, бөгөттөө, үнүн басуу, дирилдөө, уйку режими, жумуш, фокустоо, добуш, үнсүз, күн, иш күнү, дем алыш, иш күндөрүнүн кечтери, окуя"</string>
+    <string name="keywords_zen_mode_settings" msgid="7810203406522669584">"та, график, билдирмелер, бөгөттөө, үнүн басуу, дирилдөө, уйку режими, жумуш, фокустоо, добуш, үнсүз, күн, иш күнү, дем алыш, иш күндөрүнүн кечтери, окуя"</string>
     <string name="keywords_screen_timeout" msgid="8921857020437540572">"экран, кулпулоо убакыты, таймаут, кулпуланган экран"</string>
     <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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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,16 +3312,16 @@
     <string name="zen_mode_option_alarms" msgid="5757128948796316657">"Ойготкуч гана"</string>
     <string name="zen_mode_option_no_interruptions" msgid="2686373425603566479">"Тымтырс"</string>
     <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_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>
     <string name="zen_mode_restrict_notifications_mute_footer" msgid="2152115038156049608">"Билдирмелер келгенде телефонуңуздун үнү чыкпайт же дирилдебейт."</string>
     <string name="zen_mode_restrict_notifications_hide" msgid="5997930361607752541">"Билдирмелерди көрбөйсүз да, укпайсыз"</string>
     <string name="zen_mode_restrict_notifications_hide_summary" msgid="6005445725686969583">"Билдирмелерди көрбөйсүз да, укпайсыз"</string>
-    <string name="zen_mode_restrict_notifications_hide_footer" msgid="4314772315731485747">"Жаңы же учурдагы билдирмелер көрүнбөйт, телефондун үнү чыкпайт же дирилдебейт. Бирок телефондун негизги функцияларынын иштеши үчүн зарыл болгон маанилүү билдирмелерди ала бересиңер.\n\n\"Тынчымды алба\" режими өчүрүлгөндөн кийин, жашырылган билдирмелерди көрүү үчүн экранды ылдый сүрүп коюңуз."</string>
+    <string name="zen_mode_restrict_notifications_hide_footer" msgid="4314772315731485747">"Жаңы же учурдагы билдирмелер көрүнбөйт, телефондун үнү чыкпайт же дирилдебейт. Бирок телефондун негизги функцияларынын иштеши үчүн керектүү маанилүү билдирмелерди ала бересиңер.\n\n\"Тынчымды алба\" режими өчүрүлгөндөн кийин, жашырылган билдирмелерди көрүү үчүн экранды ылдый сүрүп коюңуз."</string>
     <string name="zen_mode_restrict_notifications_custom" msgid="5469078057954463796">"Ыңгайлаштырылган"</string>
     <string name="zen_mode_restrict_notifications_enable_custom" msgid="4303255634151330401">"Ыңгайлаштырылган жөндөөнү иштетүү"</string>
     <string name="zen_mode_restrict_notifications_disable_custom" msgid="5062332754972217218">"Ыңгайлаштырылган жөндөөнү алып салуу"</string>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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,20 +3420,30 @@
     <string name="recent_notifications" msgid="1105631022180160436">"Акыркы жолу билдирмелерди жөнөткөн колдонмолор"</string>
     <string name="recent_notifications_see_all_title" msgid="3087299996651692987">"Акыркы 7 күндөгү бардык колдонмолорду көрүү"</string>
     <string name="advanced_section_header" msgid="6003255455888626056">"Өркүндөтүлгөн"</string>
-    <string name="profile_section_header" msgid="4970209372372610799">"Жумуш боюнча эскертмелер"</string>
+    <string name="profile_section_header" msgid="4970209372372610799">"Жумуш боюнча билдирмелер"</string>
     <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="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>
@@ -3410,6 +3461,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>
@@ -3431,8 +3483,8 @@
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Кулпуланган экран"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Жумуш эскертмесин толугу менен көрсөтүү"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Купуя жумуш мазмунду жашыруу"</string>
-    <string name="lock_screen_notifications_interstitial_message_profile" msgid="1456262034599029028">"Түзмөгүңүз кулпуланып турганда, профиль эскертмелери кандайча көрсөтүлсүн?"</string>
-    <string name="lock_screen_notifications_interstitial_title_profile" msgid="6950124772255324448">"Профиль эскертмелери"</string>
+    <string name="lock_screen_notifications_interstitial_message_profile" msgid="1456262034599029028">"Түзмөгүңүз кулпуланып турганда, профиль билдирмелери кандайча көрсөтүлсүн?"</string>
+    <string name="lock_screen_notifications_interstitial_title_profile" msgid="6950124772255324448">"Профиль билдирмелери"</string>
     <string name="notifications_title" msgid="4221655533193721131">"Билдирмелер"</string>
     <string name="app_notifications_title" msgid="248374669037385148">"Колдонмолор"</string>
     <string name="notification_channel_title" msgid="8859880871692797611">"Билдирменин категориясы"</string>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Үнсүз жана кичирейтип көрсөтүү"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Үнсүз көрсөтүлсүн"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Үн чыгат"</string>
@@ -3458,7 +3516,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>
@@ -3471,18 +3529,19 @@
     <string name="notifications_sent_never" msgid="9081278709126812062">"Эч качан"</string>
     <string name="manage_notification_access_title" msgid="4714320299084782521">"Билдирмелерди иштетүү"</string>
     <string name="work_profile_notification_access_blocked_summary" msgid="8643809206612366067">"Жумуш профилинин эскертмелерине кирүү бөгөттөлгөн"</string>
-    <string name="manage_notification_access_summary_zero" msgid="7528633634628627431">"Колдонмолор эскертмелерди окуй алышпайт"</string>
+    <string name="manage_notification_access_summary_zero" msgid="7528633634628627431">"Колдонмолор билдирмелерди окуй алышпайт"</string>
     <plurals name="manage_notification_access_summary_nonzero" formatted="false" msgid="3703008881487586312">
-      <item quantity="other">%d колдонмо эскертмелерди окуй алат</item>
-      <item quantity="one">%d колдонмо эскертмелерди окуй алат</item>
+      <item quantity="other">%d колдонмо билдирмелерди окуй алат</item>
+      <item quantity="one">%d колдонмо билдирмелерди окуй алат</item>
     </plurals>
     <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>
-    <string name="notification_listener_security_warning_summary" msgid="1896899068512197964">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> колдонмосу эскертмелердин баарын, ошону менен катар байланыштардын аты-жөнү жана алынган билдирүүлөр сыяктуу жеке маалыматты окуй алат. Мындан тышкары, ал бул эскертмелерди жок кылып же алардагы баскычтарды баса алат. \n\nУшуну менен колдонмо \"Тынчымды алба\" режимин иштетип же өчүрүү, ошондой эле анын жөндөөлөрүн өзгөртүү мүмкүнчүлүгүнө ээ болот."</string>
+    <string name="notification_listener_security_warning_summary" msgid="1896899068512197964">"<xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> колдонмосу билдирмелердин баарын, ошону менен катар байланыштардын аты-жөнү жана алынган билдирүүлөр сыяктуу жеке маалыматты окуй алат. Мындан тышкары, ал бул билдирмелерди жок кылып же алардагы баскычтарды баса алат. \n\nУшуну менен колдонмо \"Тынчымды алба\" режимин иштетип же өчүрүү, ошондой эле анын жөндөөлөрүн өзгөртүү мүмкүнчүлүгүнө ээ болот."</string>
     <string name="notification_listener_disable_warning_summary" msgid="8373396293802088961">"Эгер <xliff:g id="NOTIFICATION_LISTENER_NAME">%1$s</xliff:g> үчүн эскертмеге мүмкүнчүлүктү өчүрсөңүз, \"Тынчымды алба\" режимине мүмкүнчүлүк да өчүрүлүшү мүмкүн."</string>
     <string name="notification_listener_disable_warning_confirm" msgid="841492108402184976">"Өчүрүү"</string>
     <string name="notification_listener_disable_warning_cancel" msgid="8802784105045594324">"Жок"</string>
@@ -3520,13 +3579,13 @@
       <item quantity="one"><xliff:g id="COUNT_0">%d</xliff:g> колдонмо үчүн өчүк</item>
     </plurals>
     <plurals name="deleted_channels" formatted="false" msgid="5963473421547029532">
-      <item quantity="other"><xliff:g id="COUNT_1">%d</xliff:g> категория жок кылынды</item>
-      <item quantity="one"><xliff:g id="COUNT_0">%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="notification_toggle_on" msgid="1624283327379059003">"Күйүк"</string>
     <string name="notification_toggle_off" msgid="3295373308338024844">"Өчүк"</string>
     <string name="app_notification_block_title" msgid="3880322745749900296">"Баарын бөгөттөө"</string>
-    <string name="app_notification_block_summary" msgid="1804611676339341551">"Бул эскертмелер эч качан көрсөтүлбөсүн"</string>
+    <string name="app_notification_block_summary" msgid="1804611676339341551">"Бул билдирмелер эч качан көрсөтүлбөсүн"</string>
     <string name="notification_content_block_title" msgid="6689085826061361351">"Билдирмелер"</string>
     <string name="notification_content_block_summary" msgid="329171999992248925">"Билдирмелер эч качан фондо же тышкы түзмөктөрдө көрүнбөсүн"</string>
     <string name="notification_badge_title" msgid="6854537463548411313">"Билдирмелер белгиси көрүнсүн"</string>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3653,12 +3723,13 @@
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> чейин \"Ойготкучтар гана\" режимин иштетүү"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"Ар дайым үзгүлтүккө учуратуу режимине өзгөртүү"</string>
     <string name="zen_mode_screen_on" msgid="7312758100468915319">"Экран күйүп турганда"</string>
-    <string name="zen_mode_screen_on_summary" msgid="510055058460316698">"\"Тынчымды алба\" режиминде үнү өчүрүлгөн эскертмелер экранга калкып чыгып, абал тилкесинде көрсөтүлсүн"</string>
+    <string name="zen_mode_screen_on_summary" msgid="510055058460316698">"\"Тынчымды алба\" режиминде үнү өчүрүлгөн билдирмелер экранга калкып чыгып, абал тилкесинде көрсөтүлсүн"</string>
     <string name="zen_mode_screen_off" msgid="7069798697669366075">"Экран өчүп турганда"</string>
-    <string name="zen_mode_screen_off_summary" msgid="4698018253505406152">"\"Тынчымды алба\" режиминде үнү өчүрүлгөн эскертмелер алынганда экран же жарык индикатору күйсүн"</string>
-    <string name="zen_mode_screen_off_summary_no_led" msgid="1958271859408992636">"\"Тынчымды алба\" режиминде үнү өчүрүлгөн эскертмелер алынганда экран күйсүн"</string>
+    <string name="zen_mode_screen_off_summary" msgid="4698018253505406152">"\"Тынчымды алба\" режиминде үнү өчүрүлгөн билдирмелер алынганда экран же жарык индикатору күйсүн"</string>
+    <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>
@@ -3674,15 +3745,15 @@
     <string name="experimental_preference" msgid="869354050717870055">"(Сынамык)"</string>
     <string name="encryption_interstitial_header" msgid="4418014339568737685">"Коопсуз баштоо"</string>
     <string name="encryption_continue_button" msgid="3591796237625134622">"Улантуу"</string>
-    <string name="encryption_interstitial_message_pin" msgid="1413575143234269985">"Түзмөгүңүздү коргоо үчүн PIN код менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. PIN кодду коёсузбу?"</string>
-    <string name="encryption_interstitial_message_pattern" msgid="726550613252236854">"Түзмөгүңүздү коргоо үчүн аны графикалык ачкыч менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Графикалык ачкычты коёсузбу?"</string>
-    <string name="encryption_interstitial_message_password" msgid="6051054565294909975">"Түзмөгүңүздү коргоо үчүн аны сырсөз менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Сырсөздү коёсузбу?"</string>
-    <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="7152770518093102916">"Түзмөгүңүздү коргоо үчүн аны манжа изи же PIN код менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. PIN кодду коёсузбу?"</string>
-    <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="6257856552043740490">"Түзмөгүңүздү коргоо үчүн аны манжа изи же графикалык ачкыч менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Графикалык ачкычты коёсузбу?"</string>
-    <string name="encryption_interstitial_message_password_for_fingerprint" msgid="7710804822643612867">"Түзмөгүңүздү коргоо үчүн аны манжа изи же сырсөз менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Сырсөздү коёсузбу?"</string>
-    <string name="encryption_interstitial_message_pin_for_face" msgid="8577135499926738241">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу функциясынан тышкары PIN код менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн PIN код коёсузбу?"</string>
-    <string name="encryption_interstitial_message_pattern_for_face" msgid="5851725964283239644">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу функциясынан тышкары графикалык ачкыч менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн графикалык ачкыч коёсузбу?"</string>
-    <string name="encryption_interstitial_message_password_for_face" msgid="3553329272456428461">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу функциясынан тышкары сырсөз менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда чалуулар, билдирүүлөр же эскертмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн сырсөз коёсузбу?"</string>
+    <string name="encryption_interstitial_message_pin" msgid="1413575143234269985">"Түзмөгүңүздү коргоо үчүн PIN код менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же билдирмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. PIN кодду коёсузбу?"</string>
+    <string name="encryption_interstitial_message_pattern" msgid="726550613252236854">"Түзмөгүңүздү коргоо үчүн аны графикалык ачкыч менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же билдирмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Графикалык ачкычты коёсузбу?"</string>
+    <string name="encryption_interstitial_message_password" msgid="6051054565294909975">"Түзмөгүңүздү коргоо үчүн аны сырсөз менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же билдирмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Сырсөздү коёсузбу?"</string>
+    <string name="encryption_interstitial_message_pin_for_fingerprint" msgid="7152770518093102916">"Түзмөгүңүздү коргоо үчүн аны манжа изи же PIN код менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же билдирмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. PIN кодду коёсузбу?"</string>
+    <string name="encryption_interstitial_message_pattern_for_fingerprint" msgid="6257856552043740490">"Түзмөгүңүздү коргоо үчүн аны манжа изи же графикалык ачкыч менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же билдирмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Графикалык ачкычты коёсузбу?"</string>
+    <string name="encryption_interstitial_message_password_for_fingerprint" msgid="7710804822643612867">"Түзмөгүңүздү коргоо үчүн аны манжа изи же сырсөз менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда, чалуулар, билдирүүлөр же билдирмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Сырсөздү коёсузбу?"</string>
+    <string name="encryption_interstitial_message_pin_for_face" msgid="8577135499926738241">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу функциясынан тышкары PIN код менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда чалуулар, билдирүүлөр же билдирмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн PIN код коёсузбу?"</string>
+    <string name="encryption_interstitial_message_pattern_for_face" msgid="5851725964283239644">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу функциясынан тышкары графикалык ачкыч менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда чалуулар, билдирүүлөр же билдирмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн графикалык ачкыч коёсузбу?"</string>
+    <string name="encryption_interstitial_message_password_for_face" msgid="3553329272456428461">"Түзмөгүңүздү коргоо үчүн аны жүзүңүздү таануу функциясынан тышкары сырсөз менен кулпулап койсоңуз болот. Түзмөк кулпуланып турганда чалуулар, билдирүүлөр же билдирмелер, ошондой эле ойготкучтар жеткиликсиз болот.\n\nБул чаралар жоголгон же уурдалган түзмөктөрдөгү дайындарды коргоого жардам берет. Түзмөгүңүздү иштетүү үчүн сырсөз коёсузбу?"</string>
     <string name="encryption_interstitial_yes" msgid="1948016725089728181">"Ооба"</string>
     <string name="encryption_interstitial_no" msgid="3352331535473118487">"Жок"</string>
     <string name="restricted_true_label" msgid="612852292488747564">"Чектелген"</string>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3820,7 +3895,7 @@
     <string name="high_power_system" msgid="3966701453644915787">"Кубатты үнөмдөөнү иштетүү мүмкүн эмес"</string>
     <string name="high_power_desc" msgid="2753076899835765338">"Батареянын кубаты үнөмдөлбөсүн. Батареяңыз тез эле отуруп калышы мүмкүн."</string>
     <string name="high_power_prompt_title" msgid="2574478825228409124">"Колдонмо фондо тынымсыз иштей берсинби?"</string>
-    <string name="high_power_prompt_body" msgid="6460557929559616041">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосу фондо тынымсыз иштей берсе, батареянын кубаты тез сарпталышы мүмкүн. \n\nАны кийинчерээк Жөндөөлөр, Колдонмолор жана эскертмелер бөлүмүнөн өзгөртсөңүз болот."</string>
+    <string name="high_power_prompt_body" msgid="6460557929559616041">"<xliff:g id="APP_NAME">%1$s</xliff:g> колдонмосу фондо тынымсыз иштей берсе, батареянын кубаты тез сарпталышы мүмкүн. \n\nАны кийинчерээк Жөндөөлөр, Колдонмолор жана билдирмелер бөлүмүнөн өзгөртсөңүз болот."</string>
     <string name="battery_summary" msgid="2491764359695671207">"Акыркы жолу толук кубатталгандан бери <xliff:g id="PERCENTAGE">%1$s</xliff:g> сарпталды"</string>
     <string name="battery_power_management" msgid="7507188088567087384">"Батареянын кубатын башкаруу"</string>
     <string name="no_battery_summary" msgid="5769159953384122003">"Акыркы жолу толук кубатталгандан бери батарея керектеле элек"</string>
@@ -3913,8 +3988,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>
@@ -3976,7 +4054,7 @@
     <string name="users_summary" msgid="8473589474976307510">"<xliff:g id="USER_NAME">%1$s</xliff:g> катары кирдиңиз"</string>
     <string name="payment_summary" msgid="5513009140568552693">"<xliff:g id="APP_NAME">%1$s</xliff:g> демейки колдонмо"</string>
     <string name="backup_disabled" msgid="4503062265560959320">"Камдык көчүрмө өчүрүлгөн"</string>
-    <string name="android_version_summary" msgid="7818952662015042768">"Android <xliff:g id="VERSION">%1$s</xliff:g> версиясына жаңыртылды"</string>
+    <string name="android_version_summary" msgid="7818952662015042768">"Android <xliff:g id="VERSION">%1$s</xliff:g> версиясына жаңырды"</string>
     <string name="android_version_pending_update_summary" msgid="5404532347171027730">"Жаңы версия бар"</string>
     <string name="disabled_by_policy_title" msgid="8296938784202750494">"Аракетке уруксат жок"</string>
     <string name="disabled_by_policy_title_adjust_volume" msgid="1669689058213728099">"Үнү өзгөртүлбөйт"</string>
@@ -4080,16 +4158,18 @@
     <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>
     </plurals>
     <string name="billing_cycle_none_left" msgid="1694844019159277504">"Убакыт калган жок"</string>
     <string name="billing_cycle_less_than_one_day_left" msgid="1210202399053992163">"1 күнгө жетпеген убакыт калды"</string>
-    <string name="carrier_and_update_text" msgid="5363656651921656280">"<xliff:g id="ID_1">^1</xliff:g> тарабынан <xliff:g id="ID_2">^2</xliff:g> мурда жаңыртылды"</string>
-    <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> мурда жаңыртылды"</string>
-    <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> тарабынан жаңы эле жаңыртылды"</string>
-    <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Азыр эле жаңыртылды"</string>
+    <string name="carrier_and_update_text" msgid="5363656651921656280">"<xliff:g id="ID_1">^1</xliff:g> тарабынан <xliff:g id="ID_2">^2</xliff:g> мурда жаңырды"</string>
+    <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> мурда жаңырды"</string>
+    <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> тарабынан жаңы эле жаңырды"</string>
+    <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Азыр эле жаңырды"</string>
     <string name="launch_mdp_app_text" msgid="8791816789749304897">"Планды көрүү"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Кеңири маалымат"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Трафикти үнөмдөө"</string>
@@ -4103,9 +4183,9 @@
     <string name="home_app" msgid="6056850504746902747">"Башкы колдонмо"</string>
     <string name="no_default_home" msgid="3588073707316139318">"Демейки башкы бет жок"</string>
     <string name="lockpattern_settings_require_cred_before_startup" msgid="4098653943835666086">"Коопсуз баштоо"</string>
-    <string name="lockpattern_settings_require_pattern_before_startup_summary" msgid="311325321794497404">"Түзмөгүңүздү күйгүзүү үчүн графикалык ачкыч талап кылынат. Түзмөк өчүп турганда чалуулар, билдирүүлөр, эскертмелер же сигналдар алынбайт."</string>
-    <string name="lockpattern_settings_require_pin_before_startup_summary" msgid="1881271630312222251">"Түзмөгүңүздү күйгүзүү үчүн PIN код талап кылынат. Түзмөк өчүп турганда чалуулар, билдирүүлөр, эскертмелер же сигналдар алынбайт."</string>
-    <string name="lockpattern_settings_require_password_before_startup_summary" msgid="8651761245246411947">"Түзмөгүңүздү күйгүзүү үчүн сырсөз талап кылынат. Түзмөк өчүп турганда чалуулар, билдирүүлөр, эскертмелер же сигналдар алынбайт."</string>
+    <string name="lockpattern_settings_require_pattern_before_startup_summary" msgid="311325321794497404">"Түзмөгүңүздү күйгүзүү үчүн графикалык ачкыч талап кылынат. Түзмөк өчүп турганда чалуулар, билдирүүлөр, билдирмелер же сигналдар алынбайт."</string>
+    <string name="lockpattern_settings_require_pin_before_startup_summary" msgid="1881271630312222251">"Түзмөгүңүздү күйгүзүү үчүн PIN код талап кылынат. Түзмөк өчүп турганда чалуулар, билдирүүлөр, билдирмелер же сигналдар алынбайт."</string>
+    <string name="lockpattern_settings_require_password_before_startup_summary" msgid="8651761245246411947">"Түзмөгүңүздү күйгүзүү үчүн сырсөз талап кылынат. Түзмөк өчүп турганда чалуулар, билдирүүлөр, билдирмелер же сигналдар алынбайт."</string>
     <string name="suggestion_additional_fingerprints" msgid="4726777300101156208">"Дагы бир манжа изин кошуңуз"</string>
     <string name="suggestion_additional_fingerprints_summary" msgid="2825364645039666674">"Кулпуну башка манжа менен ачуу"</string>
     <string name="battery_saver_on_summary" msgid="4605146593966255848">"Күйүк"</string>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Драйвердин сынамык версиясын жарыкка чыгаруу"</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_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) -->
+    <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>
@@ -4463,7 +4547,7 @@
     <string name="network_connecting" msgid="6856124847029124041">"Туташууда…"</string>
     <string name="network_could_not_connect" msgid="676574629319069922">"Туташпай койду"</string>
     <string name="empty_networks_list" msgid="6519489879480673428">"Эч тармак табылган жок."</string>
-    <string name="network_query_error" msgid="6406348372070035274">"Тармактар табылбай койду. Кайра аракет кылыңыз."</string>
+    <string name="network_query_error" msgid="6406348372070035274">"Тармактар табылбай койду. Кайталап көрүңүз."</string>
     <string name="forbidden_network" msgid="7404863971282262991">"(тыюу салынган)"</string>
     <string name="no_sim_card" msgid="1497407489810953863">"SIM-карта жок"</string>
     <string name="preferred_network_mode_wcdma_perf_summary" msgid="230527592752934655">"Тандалган тармак режими: WCDMA тандалган"</string>
@@ -4559,7 +4643,7 @@
     <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="mobile_network_erase_sim_error_dialog_body" msgid="6401922869095572710">"Катадан улам SIM картаны тазалоого болбойт.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайталап көрүңүз."</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Тандалган тармактын түрү"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Тармактын иштөө режимин өзгөртүңүз"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Тармактын түрү"</string>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
index c889794..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"ບໍ່ໃຊ້"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"ບໍ່ມີ"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"ບໍ່ໃຊ້"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 9cd4a97..9efe0e6 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"ໄລຍະໝົດເວລາການຊອກເຫັນ"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ລັອກການໂທດ້ວຍສຽງ"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"ປ້ອງກັນການໃຊ້ໂປຣແກຣມໂທອອກດ້ວຍ Bluetooth ໃນເວລາໜ້າຈໍຖືກລັອກໄວ້"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ອຸປະກອນ Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ຊື່​ອຸ​ປະ​ກອນ"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"ການຕັ້ງຄ່າອຸປະກອນ"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"ການຕັ້ງຄ່າໂປຣໄຟລ໌"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"ເວລາຄລິກອັດຕະໂນມັດ"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ແອັບຂອງທ່ານກຳລັງໃຊ້ແບັດເຕີຣີໃນປະລິມານປົກກະຕິ. ຫາກແອັບຕ່າງໆໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປ, ອຸປະກອນຂອງທ່ານຈະແນະນຳຄຳສັ່ງທີ່ທ່ານສາມາດໃຊ້ໄດ້.\n\nທ່ານສາມາດເປີດໃຊ້ຕົວປະຢັດແບັດເຕີຣີໄດ້ຕະຫຼອດເວລາຫາກແບັດເຕີຣີຂອງທ່ານເຫຼືອໜ້ອຍ."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ຕົວຈັດການແບັດເຕີຣີ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ຈັດການແອັບໂດຍອັດຕະໂນມັດ"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ຈຳກັດແບັດເຕີຣີສຳລັບແອັບທີ່ທ່ານບໍ່ໄດ້ໃຊ້ເລື້ອຍໆ"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"ເມື່ອຕົວປະຢັດແບັດເຕີຣີກວດພົບວ່າມີແອັບທີ່ກຳລັງໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປຢູ່, ທ່ານຈະມີຕົວເລືອກໃນການຈຳກັດແອັບເຫຼົ່ານີ້ໄວ້. ແອັບທີ່ຖືກຈຳກັດອາດເຮັດວຽກບໍ່ຖືກຕ້ອງ ແລະ ການແຈ້ງເຕືອນອາດຊັກຊ້າ."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"ເມື່ອຕົວປະຢັດແບັດເຕີຣີກວດພົບວ່າມີແອັບທີ່ກຳລັງໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປຢູ່, ທ່ານຈະມີຕົວເລືອກໃນການຈຳກັດແອັບເຫຼົ່ານີ້ໄວ້. ແອັບທີ່ຖືກຈຳກັດອາດເຮັດວຽກບໍ່ຖືກຕ້ອງ ແລະ ການແຈ້ງເຕືອນອາດຊັກຊ້າ."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"ເມື່ອຕົວປະຢັດແບັດເຕີຣີກວດພົບວ່າມີແອັບທີ່ກຳລັງໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປຢູ່, ທ່ານຈະມີຕົວເລືອກໃນການຈຳກັດແອັບເຫຼົ່ານີ້ໄວ້. ແອັບທີ່ຖືກຈຳກັດອາດເຮັດວຽກບໍ່ຖືກຕ້ອງ ແລະ ການແຈ້ງເຕືອນອາດຊັກຊ້າ."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ຈຳກັດແບັດເຕີຣີສຳລັບແອັບທີ່ທ່ານບໍ່ໄດ້ໃຊ້ເລື້ອຍໆ"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"ເມື່ອຕົວປະຢັດແບັດເຕີຣີກວດພົບວ່າມີແອັບທີ່ກຳລັງໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປຢູ່, ທ່ານຈະມີຕົວເລືອກໃນການຈຳກັດແອັບເຫຼົ່ານີ້ໄວ້. ແອັບທີ່ຖືກຈຳກັດອາດເຮັດວຽກບໍ່ຖືກຕ້ອງ ແລະ ການແຈ້ງເຕືອນອາດຊັກຊ້າ."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"ແອັບທີ່ຈຳກັດໄວ້"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">ກຳລັງຈຳກັດການໃຊ້ແບັດເຕີຣີສຳລັບ %1$d ແອັບ</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ແອັບເຫຼົ່ານີ້ກຳລັງໃຊ້ແບັດເຕີຣີໃນພື້ນຫຼັງຢູ່. ແອັບທີ່ຖືກຈຳກັດໄວ້ອາດເຮັດວຽກບໍ່ປົກກະຕິ ແລະ ການແຈ້ງເຕືອນອາດຊັກຊ້າ."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"ໃຊ້ຕົວຈັດການແບັດເຕີຣີ"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"ກວດສອບເມື່ອແອັບໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປ"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ເປີດ / ກຳລັງກວດສອບເມື່ອແອັບໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປ"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ເປີດ / ກຳລັງກວດສອບເມື່ອແອັບໃຊ້ແບັດເຕີຣີຫຼາຍເກີນໄປ"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ປິດ"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">ຈຳກັດ %1$d ແແອັບແລ້ວ</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ບໍ່​ມີຂໍ້​ມູນ​​ຮັບ​ຮອງ​ໂຕສຳ​ລັບ​ຜູ່​ໃຊ້​ນີ້"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"ຕິດຕັ້ງສຳລັບ VPN ແລະ ແອັບຕ່າງໆແລ້ວ"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"ຕິດຕັ້ງສຳລັບ Wi-Fi ແລ້ວ"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ຕິດຕັ້ງແລ້ວສຳລັບການຢັ້ງຢືນແຫຼ່ງທີ່ມາການຕິດຕັ້ງ"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"ລຶບເນື້ອຫາທັງໝົດອອກ?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ໃບຮັບຮອງແຫຼ່ງທີ່ມາແອັບ"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ຕິດຕັ້ງໃບຮັບຮອງນີ້ໂດຍຮັບຄວາມສ່ຽງເອງ"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"ໃບຮັບຮອງແຫຼ່ງທີ່ມາແອັບຈະຢັ້ງຢືນວ່າແອັບຕ່າງໆນັ້ນປອດໄພສຳລັບອຸປະກອນຂອງທ່ານ. ໃຫ້ຕິດຕັ້ງໃບຮັບຮອງຈາກອົງການທີ່ທ່ານເຊື່ອຖືເທົ່ານັ້ນ."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ໃບຢັ້ງຢືນຜູ້ໃຊ້ໜຶ່ງ​ໃບ"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ໃບຢັ້ງຢືນ CA ໜຶ່ງໃບ"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d ໃບຮັບຮອງ CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ໃຊ້ໃບຮັບຮອງແຫຼ່ງທີ່ມາແອັບ"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ລາຍລະອຽດຂໍ້ມູນປະຈໍາຕົວ"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ຂໍ້ມູນທີ່ລຶບອອກໄປແລ້ວ: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"ບໍ່ມີຂໍ້ມູນປະຈໍາຕົວຜູ້ໃຊ້ຕິດຕັ້ງຢູ່"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"ຣີສະຕາດເພື່ອໃຊ້ໃບຮັບຮອງ"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"ເພື່ອໃຊ້ໃບຮັບຮອງແຫຼ່ງທີ່ມາແອັບນີ້, ທ່ານຈະຕ້ອງຣີສະຕາດອຸປະກອນຂອງທ່ານກ່ອນ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"ຣີສະຕາດເພື່ອສຳເລັດການຖອນການຕິດຕັ້ງ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"ເພື່ອຖອນການຕິດຕັ້ງໃບຮັບຮອງແຫຼ່ງທີ່ມາແອັບນີ້, ທ່ານຈະຕ້ອງຣີສະຕາດອຸປະກອນຂອງທ່ານກ່ອນ"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ຣີສະຕາດ"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ບໍ່ຟ້າວເທື່ອ"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"ຕົວກວດການສະກົດຄໍາ"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"ຕົວກວດການສະກົດຄຳສຳລັບວຽກ"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"ພິມລະຫັດສຳຮອງຂໍ້ມູນເຕັມຂອງທ່ານບ່ອນນີ້"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"ສະແດງແບບງຽບໆ ແລະ ເຊື່ອງໄວ້"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ສະແດງແບບງຽບໆ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ເຮັດສຽງ"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"ໄດຣເວີທີ່ອອກລ່ວງໜ້າ"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index 15a5de4..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Nieko"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Nėra"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Nėra"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 d54e76c..5732801 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>
@@ -101,7 +68,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Baigėsi skirtasis matomumo laikas"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Užrakinti numerio rinkimą balsu"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Neleisti naudoti „Bluetooth“ numerio rinkiklio, kai ekranas užrakintas"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"„Bluetooth“ įrenginiai"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Įrenginio pavadinimas"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Įrenginio nustatymai"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profilio nustatymai"</string>
@@ -176,9 +142,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 +177,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 +219,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 +237,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 +244,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 +287,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 +318,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 +631,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 +673,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>
@@ -872,16 +799,19 @@
     <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 +885,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 +896,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 +904,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>
@@ -998,12 +930,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 +950,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 +970,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 +1028,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 +1081,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 +1090,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 +1127,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 +1263,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 +1286,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 +1377,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 +1404,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 +1617,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 +1667,9 @@
     <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="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 +1762,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 +1770,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>
@@ -1941,7 +1905,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 +2105,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 +2113,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 +2182,41 @@
     <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="2370077188725433271">"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_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 +2230,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>
@@ -2464,10 +2482,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Programos naudoja įprastą akumuliatoriaus energijos kiekį. Jei programos naudos per daug akumuliatoriaus energijos, įrenginys pasiūlys veiksmų, kurių galima imtis.\n\n Jei senka akumuliatoriaus energija, visada galite įjungti Akumuliatoriaus tausojimo priemonę."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akumuliatoriaus tvarkytuvė"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatinis programų tvarkymas"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Apribokite retai naudojamų programų akumuliatoriaus energijos eikvojimą"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Kai akumuliatoriaus tvarkytuvė aptinka, kad programos eikvoja akumuliatoriaus energiją, galite apriboti šias programas. Ribojamos programos gali tinkamai neveikti ir pranešimai gali būti atidėti."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Kai akumuliatoriaus tvarkytuvė aptinka, kad programos eikvoja akumuliatoriaus energiją, galite apriboti šias programas. Ribojamos programos gali tinkamai neveikti ir pranešimai gali būti atidėti."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Kai akumuliatoriaus tvarkytuvė aptinka, kad programos eikvoja akumuliatoriaus energiją, galite apriboti šias programas. Ribojamos programos gali tinkamai neveikti ir pranešimai gali būti atidėti."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Apribokite retai naudojamų programų akumuliatoriaus energijos eikvojimą"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Kai akumuliatoriaus tvarkytuvė aptinka, kad programos eikvoja akumuliatoriaus energiją, galite apriboti šias programas. Ribojamos programos gali tinkamai neveikti ir pranešimai gali būti atidėti."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Apribotos programos"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Ribojamas %1$d programos akumuliatoriaus energijos vartojimas</item>
@@ -2479,7 +2495,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Šios programos akumuliatoriaus energiją naudojo fone. Apribotos programos gali neveikti tinkamai, o pranešimai gali vėluoti."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Akumuliatoriaus tvarkytuvės naudojimas"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Aptikti, kai programos eikvoja akumuliatoriaus energiją"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Įjungta / aptinkama, kai programos eikvoja akumuliatoriaus energiją"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Įjungta / aptinkama, kai programos eikvoja akumuliatoriaus energiją"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Išjungta"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">Apribota %1$d programa</item>
@@ -2589,7 +2605,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>
@@ -2670,8 +2685,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>
@@ -2687,10 +2701,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Prisijungimo duomenys nepasiekiami šiam naudotojui"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Įdiegta VPN ir programoms"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Įdiegta „Wi-Fi“"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Įdiegta, kad būtų galima patvirtinti programos diegimo šaltinį"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Pašalinti visą turinį?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Program. šaltinio 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Įdiegdami šį sertifikatą prisiimate atsakomybę"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Programos šaltinio sertifikatu patvirtinama, kad įrenginyje naudoti programas yra saugu. Sertifikatus įdiekite tik iš patikimų organizacijų."</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>
@@ -2718,10 +2744,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>
@@ -2735,6 +2757,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>
@@ -2967,9 +2999,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"vienas naudotojo sertifikatas"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"vienas CA sertifikatas"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA sertifikatai"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"vienas programos šaltinio sertifikatas"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Išsami prisijungimo duomenų informacija"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Pašalinti prisijungimo duomenys: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nenustatyti jokie naudotojo prisijungimo duomenys"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Paleiskite iš naujo ir naudokite sertifikatą"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Kad galėtumėte naudoti šį programos šaltinio sertifikatą, turėsite paleisti įrenginį iš naujo"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Paleiskite iš naujo ir užbaikite pašalinimą"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Kad galėtumėte pašalinti šį programos šaltinio sertifikatą, turėsite paleisti įrenginį iš naujo"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Paleisti iš naujo"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ne dabar"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Rašybos tikrinimas"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Darbo teksto rašybos tikrinimas"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Čia įveskite visą dabartinį atsarginės kopijos slaptažodį"</string>
@@ -3092,7 +3131,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>
@@ -3161,7 +3199,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>
@@ -3171,6 +3208,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>
@@ -3184,7 +3222,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>
@@ -3204,6 +3241,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>
@@ -3214,13 +3252,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>
@@ -3244,7 +3283,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>
@@ -3282,6 +3321,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>
@@ -3291,18 +3331,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>
@@ -3310,6 +3351,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>
@@ -3335,6 +3379,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>
@@ -3361,7 +3406,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>
@@ -3392,7 +3437,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>
@@ -3426,10 +3471,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>
@@ -3473,16 +3520,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>
@@ -3500,6 +3557,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>
@@ -3530,6 +3588,12 @@
     <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="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>
@@ -3548,7 +3612,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>
@@ -3575,6 +3639,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>
@@ -3642,8 +3707,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>
@@ -3699,6 +3766,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>
@@ -3712,15 +3783,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">
@@ -3769,6 +3845,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>
@@ -3861,8 +3938,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>
@@ -3874,6 +3949,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>
@@ -3887,9 +3963,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>
@@ -4039,8 +4122,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>
@@ -4216,6 +4302,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>
@@ -4281,14 +4369,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>
@@ -4385,8 +4469,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>
@@ -4565,20 +4653,24 @@
     <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="5389656885733341448">"Išankstinio leidimo 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_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) -->
+    <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>
@@ -4744,7 +4836,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>
@@ -4753,13 +4844,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>
@@ -4769,6 +4855,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>
@@ -4838,6 +4926,13 @@
     <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>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index 2d6bf0f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"Parole"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Nav"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Nav"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Nav"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 1eef709..89b9950 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>
@@ -100,7 +67,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Redzamības noildze"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloķēt balss iezvani"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Neļaut izmantot Bluetooth iezvanprogrammu, kad ekrāns ir bloķēts"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth ierīces"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Ierīces nosaukums"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Ierīces iestatījumi"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profila iestatījumi"</string>
@@ -175,9 +141,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 +176,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 +217,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 +235,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 +242,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 +285,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 +315,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 +623,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 +659,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>
@@ -856,16 +782,19 @@
     <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 +868,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 +879,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 +887,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>
@@ -982,12 +913,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 +933,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 +953,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 +1008,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 +1061,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 +1070,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 +1107,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 +1243,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 +1266,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 +1356,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 +1383,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 +1596,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 +1646,9 @@
     <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="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 +1740,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 +1748,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>
@@ -1919,7 +1882,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 +2082,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 +2090,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 +2159,41 @@
     <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="2370077188725433271">"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_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 +2206,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>
@@ -2429,10 +2445,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Jūsu lietotnes patērē normālu akumulatora enerģijas apjomu. Ja lietotnes patērē pārāk daudz akumulatora enerģijas, jūsu ierīcē tiks parādītas ieteicamās darbības.\n\nJa akumulatora uzlādes līmenis ir zems, varat jebkurā laikā ieslēgt akumulatora jaudas taupīšanas režīmu."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akumulatora pārvaldnieks"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automātiska akumulatora enerģijas patēriņa pārvaldība"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Ierobežojiet akumulatora enerģijas patēriņu tām lietotnēm, kuras neizmantojat bieži"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Ja akumulatora pārvaldnieks konstatēs, ka lietotnes patērē daudz akumulatora enerģijas, varēsiet ierobežot šo lietotņu darbību. Šīs lietotnes var darboties neatbilstoši, un paziņojumi var tikt parādīti aizkavēti."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Ja akumulatora pārvaldnieks konstatēs, ka lietotnes patērē daudz akumulatora enerģijas, varēsiet ierobežot šo lietotņu darbību. Šīs lietotnes var darboties neatbilstoši, un paziņojumi var tikt parādīti aizkavēti."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Ja akumulatora pārvaldnieks konstatēs, ka lietotnes patērē daudz akumulatora enerģijas, varēsiet ierobežot šo lietotņu darbību. Šīs lietotnes var darboties neatbilstoši, un paziņojumi var tikt parādīti aizkavēti."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Ierobežojiet akumulatora enerģijas patēriņu tām lietotnēm, kuras neizmantojat bieži"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Ja akumulatora pārvaldnieks konstatēs, ka lietotnes patērē daudz akumulatora enerģijas, varēsiet ierobežot šo lietotņu darbību. Šīs lietotnes var darboties neatbilstoši, un paziņojumi var tikt parādīti aizkavēti."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Lietotnes ar ierobežotu darbību"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="zero">Akumulatora lietojums tiek ierobežots %1$d lietotnēm</item>
@@ -2443,7 +2457,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Šīs lietotnes fonā patērēja akumulatora enerģiju. Lietotnes ar ierobežotu darbību var darboties neatbilstoši, un paziņojumi var tikt parādīti aizkavēti."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Izmantot akumulatora pārvaldnieku"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Nosaka lietotnes, kas patērē daudz akumulatora enerģijas"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Ieslēgts/nosaka lietotnes, kas patērē daudz akumulatora enerģijas"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Ieslēgts/nosaka lietotnes, kas patērē daudz akumulatora enerģijas"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Izslēgts"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="zero">Ierobežota %1$d lietotņu darbība</item>
@@ -2552,7 +2566,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>
@@ -2633,8 +2646,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>
@@ -2650,10 +2662,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Šim lietotājam nav pieejami akreditācijas dati."</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalēts VPN konfigurācijai un lietotnēm"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalēts Wi-Fi konfigurācijai"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instalēti, lai apstiprinātu lietotnes instalēšanas avotu"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Vai noņemt visu saturu?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Lietotnes avota 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Jūs esat atbildīgs par šī sertifikāta instalēšanu"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Lietotņu avotu sertifikāti apstiprina, ka lietotnes ir drošas jūsu ierīcei. Instalējiet sertifikātus tikai no uzticamām organizācijām."</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>
@@ -2681,10 +2705,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>
@@ -2698,6 +2718,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>
@@ -2930,9 +2959,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"viens lietotāja sertifikāts"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"viens CA sertifikāts"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA sertifikāti"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"viens lietotnes avota sertifikāts"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Akreditācijas dati"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Noņemti akreditācijas dati: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nav instalēti lietotāja akreditācijas dati"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Restartēšana, lai izmantotu sertifikātu"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Lai izmantotu šīs lietotnes avota sertifikātu, jums jārestartē sava ierīce."</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Restartēšana, lai pabeigtu atinstalēšanu"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Lai atinstalētu šīs lietotnes avota sertifikātu, jums jārestartē sava ierīce."</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Restartēt"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Vēlāk"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Pareizrakstības pārbaudītājs"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Pareizrakstības pārbaudītājs darbam"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Šeit ierakstiet pašreizējo pilna dublējuma paroli"</string>
@@ -3051,7 +3087,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>
@@ -3120,7 +3155,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>
@@ -3130,6 +3164,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>
@@ -3143,7 +3178,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>
@@ -3162,6 +3196,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>
@@ -3172,13 +3207,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>
@@ -3202,7 +3238,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>
@@ -3240,6 +3276,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>
@@ -3249,18 +3286,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>
@@ -3268,6 +3306,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>
@@ -3292,6 +3333,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>
@@ -3318,7 +3360,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>
@@ -3349,7 +3391,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>
@@ -3381,10 +3423,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>
@@ -3428,16 +3472,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>
@@ -3455,6 +3509,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>
@@ -3485,6 +3540,12 @@
     <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="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>
@@ -3503,7 +3564,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>
@@ -3527,6 +3588,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>
@@ -3591,8 +3653,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>
@@ -3647,6 +3711,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>
@@ -3660,15 +3728,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">
@@ -3714,6 +3787,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>
@@ -3802,8 +3876,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>
@@ -3815,6 +3887,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>
@@ -3827,9 +3900,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>
@@ -3976,8 +4055,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>
@@ -4148,6 +4230,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>
@@ -4212,14 +4296,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>
@@ -4312,8 +4392,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>
@@ -4485,20 +4569,24 @@
     <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="5389656885733341448">"Pirmsizlaides dzinis"</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_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) -->
+    <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>
@@ -4663,7 +4751,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>
@@ -4672,12 +4759,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>
@@ -4687,6 +4770,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>
@@ -4753,6 +4838,13 @@
     <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>
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 5dc4ed5..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ниедна"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ниеден"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ниеден"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 6cc0946..fcd07b9 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Времето за видливост истече"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Заклучи гласовно бирање"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Спречи употреба на бирач со Bluetooth кога екранот е заклучен"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Уреди со Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Име на уред"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Поставки за уред"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Поставки на профил"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"време на автоматски клик"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Вашите апликации користат нормално количество батерија. Ако апликациите трошат многу батерија, уредот ќе ви каже што може да преземете.\n\nСекогаш може да вклучите „Штедач на батерија“ ако батеријата ви е при крај."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Управник со батерија"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Автоматско управување со апликациите"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Ограничете ја батеријата за апликации што не ги користите често"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Кога „Управникот со батерија“ ќе открие дека апликациите трошат батерија, ќе имате опција да ги ограничите тие апликации. Ограничените апликации може да не работат правилно и известувањата може да бидат одложени."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Кога „Управникот со батерија“ ќе открие дека апликациите трошат батерија, ќе имате опција да ги ограничите тие апликации. Ограничените апликации може да не работат правилно и известувањата може да бидат одложени."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Кога „Управникот со батерија“ ќе открие дека апликациите трошат батерија, ќе имате опција да ги ограничите тие апликации. Ограничените апликации може да не работат правилно и известувањата може да бидат одложени."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Ограничете ја батеријата за апликации што не ги користите често"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Кога „Управникот со батерија“ ќе открие дека апликациите трошат батерија, ќе имате опција да ги ограничите тие апликации. Ограничените апликации може да не работат правилно и известувањата може да бидат одложени."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Ограничени апликации"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Ограничување на користењето батерија за %1$d апликација</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Овие апликации ја користеле батеријата во заднина. Ограничените апликации може да не работат правилно и известувањата може да бидат одложени."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Користење управник со батерија"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Откријте кога апликациите ја трошат батеријата"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Вклучено/Се открива кога апликациите ја трошат батеријата"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Вклучено/Се открива кога апликациите ја трошат батеријата"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Исклучен"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d апликација е ограничена</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Акредитивите не се достапни за овој корисник"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Инсталиран за VPN и апликации"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Инсталиран за Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Инсталирано за потврдување на изворот од каде што се инсталира апликацијата"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Отстрани ги сите содржини?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Сертификат за извор на аплик."</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Инсталирајте го сертификатов на сопствен ризик"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Сертификатите за извор на апликациите потврдуваат дека апликациите се безбедни за вашиот уред. Инсталирајте сертификати само од организации на коишто им верувате."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"еден сертификат на корисник"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"еден сертификат CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d сертификати CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"еден сертификат за извор на апликацијата"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Детали за акредитивите"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Отстранет акредитив: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Нема инсталирано акредитиви на корисникот"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Рестартирајте за да се користи сертификатот"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"За да го користите сертификатов за извор на апликацијата, треба да го рестартирате уредот"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Рестартирајте за да заврши деинсталирањето"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"За да го деинсталирате сертификатов за извор на апликацијата, треба да го рестартирате уредот"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Рестартирај"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Не сега"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Проверка на правопис"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"„Проверка на правопис“ за работа"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Внесете ја лозинката за целосен бекап овде"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Прикажи тивко и минимизирај"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Прикажи тивко"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Испушти звук"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Прелиминарен драјвер"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index bca1401..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"ഒന്നുമില്ല"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"ഒന്നുമില്ല"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"സിം"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"സിം"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"ഒന്നുമില്ല"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 f3bac2d..200715d 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"ദൃശ്യപരത കാലഹരണപ്പെട്ടു"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"വോയ്‌സ് ഡയലിംഗ് ലോക്കുചെയ്യുക"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"സ്‌ക്രീൻ ലോക്കുചെ‌യ്തിരിക്കുമ്പോൾ ബ്ലൂടൂത്ത് ഡയലറിന്റെ ഉപയോഗം തടയുക"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ബ്ലൂടൂത്ത് ഉപകരണങ്ങൾ"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ഉപകരണത്തിന്റെ പേര്"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"ഉപകരണ ക്രമീകരണങ്ങൾ"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"പ്രൊഫൈൽ ക്രമീകരണങ്ങൾ"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,20 @@
     <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>
+    <!-- no translation found for nfc_secure_settings_title (4906958426927741485) -->
+    <skip />
     <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 +852,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 +863,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 +871,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>
@@ -966,12 +897,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 +917,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 +937,8 @@
     <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>
+    <!-- no translation found for wifi_no_user_cert_warning (8466376918835248956) -->
+    <skip />
     <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 +990,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 +1043,8 @@
     <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>
+    <!-- no translation found for wifi_hotspot_auto_off_summary (8283656069997871354) -->
+    <skip />
     <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 +1053,20 @@
     <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>
+    <!-- no translation found for wifi_add_app_single_network_summary (8455616967601552440) -->
+    <skip />
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"സംരക്ഷിക്കുന്നു…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"സംരക്ഷിച്ചു"</string>
+    <!-- no translation found for wifi_add_app_network_save_failed_summary (7223817782309294652) -->
+    <skip />
+    <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>
+    <!-- no translation found for wifi_add_app_networks_summary (2088967184512169910) -->
+    <skip />
+    <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,19 @@
     <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>
+    <!-- no translation found for wifi_disconnected_from (5249576734324159708) -->
+    <skip />
     <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 +1230,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 +1253,8 @@
     <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>
+    <!-- no translation found for style_suggestion_title (1213747484782364775) -->
+    <skip />
     <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">"Bluetooth വിലാസം"</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">"വൈഫൈ, മൊബൈൽ, 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 +1633,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ഹോട്ട്‌സ്‌പോട്ട് ഓണാണ്"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ടെതറിംഗ്"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ഡാറ്റ സേവർ ഓണായിരിക്കുന്ന സമയത്ത് പോർട്ടബിൾ ഹോട്ട്സ്പോട്ടുകൾ ടെതർ ചെയ്യാനോ ഉപയോഗിക്കാനോ കഴിയില്ല"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1729,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 +1737,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>
@@ -1897,7 +1870,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 +2070,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 +2078,66 @@
     <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>
+    <!-- no translation found for accessibility_introduction_title (8834950581512452348) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_shortcut_title (8125867833704517463) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_summary_software (2820923641553461297) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software_gesture (8078659880723370597) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software_gesture_talkback (7422753388389160524) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software (4796192466943479849) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software (8922102767509399352) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_gesture (7019216141092205215) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_gesture_talkback (5967787136477866253) -->
+    <skip />
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"വോളിയം കീകൾ ഹോൾഡ് ചെയ്യുക"</string>
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_hardware (7318273124091000632) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_triple_tap (6672798007229795841) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_triple_tap (3081710523998838305) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_shortcut_settings (836783442658447995) -->
+    <skip />
     <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 +2161,47 @@
     <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>
+    <!-- no translation found for accessibility_display_inversion_switch_title (7458595722552743503) -->
+    <skip />
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_autoclick_default_title (2060909980831267041) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_autoclick_shorter_desc (7631013255724544348) -->
+    <skip />
+    <!-- no translation found for accessibility_autoclick_longer_desc (2566025502981487443) -->
+    <skip />
+    <!-- no translation found for accessibility_autoclick_seekbar_desc (2370077188725433271) -->
+    <skip />
     <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_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,26 +2213,18 @@
     <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>
-    </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>
-    <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>
-    <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>
-    <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>
+    <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>
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_extremely_short_delay (8226135362782015387) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_very_short_delay (4440667435012753839) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_short_delay (1627969745093865560) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_long_delay (1126608261854734991) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_very_long_delay (6624972454933133135) -->
+    <!-- no translation found for accessibilty_autoclick_delay_unit_second (8132935106204075064) -->
     <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>
     <string name="accessibility_vibration_summary_low" msgid="6482721005400340317">"റിംഗ് ചെയ്യലും അറിയിപ്പും കുറഞ്ഞതായി സജ്ജീകരിച്ചു"</string>
@@ -2394,10 +2421,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"നിങ്ങളുടെ ആപ്പുകൾ, ബാറ്ററി സാധാരണ അളവിലാണ് ഉപയോഗിക്കുന്നത്. ആപ്പുകൾ വളരെ കൂടുതൽ ബാറ്ററി ഉപയോഗിക്കുന്നെങ്കിൽ, നിങ്ങൾക്ക് സ്വീകരിക്കാവുന്ന നടപടികൾ ഉപകരണം നിർദ്ദേശിക്കും.\n\nനിങ്ങളുടെ ഉപകരണം കുറഞ്ഞ ബാറ്ററി ചാർജിലാണ് പ്രവർത്തിക്കുന്നതെങ്കിൽ, നിങ്ങൾക്ക് എപ്പോഴും ബാറ്ററി ലാഭിക്കൽ ഓണാക്കാനാവും."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ബാറ്ററി മാനേജർ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ആപ്പുകൾ സ്വമേധയാ മാനേജ് ചെയ്യുക"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"നിങ്ങൾ അപൂർവ്വമായി ഉപയോഗിക്കുന്ന ആപ്പുകൾക്കായി ബാറ്ററി ഉപഭോഗം നിയന്ത്രിക്കുക"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"ആപ്പുകൾ ബാറ്ററി ഉപയോഗിച്ചുതീർക്കുന്നതായി ബാറ്ററി മാനേജർ കണ്ടെത്തുമ്പോൾ, ഈ ആപ്പുകൾ നിയന്ത്രിക്കാനുള്ള ഓപ്‌ഷൻ നിങ്ങൾക്കുണ്ട്. നിയന്ത്രിത ആപ്പുകൾ ശരിയായ രീതിയിൽ പ്രവർത്തിക്കാതിരിക്കുകയും അറിയിപ്പുകൾ വൈകുകയും ചെയ്‌തേക്കാം."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"ആപ്പുകൾ ബാറ്ററി ഉപയോഗിച്ചുതീർക്കുന്നതായി ബാറ്ററി മാനേജർ കണ്ടെത്തുമ്പോൾ, ഈ ആപ്പുകൾ നിയന്ത്രിക്കാനുള്ള ഓപ്‌ഷൻ നിങ്ങൾക്കുണ്ട്. നിയന്ത്രിത ആപ്പുകൾ ശരിയായ രീതിയിൽ പ്രവർത്തിക്കാതിരിക്കുകയും അറിയിപ്പുകൾ വൈകുകയും ചെയ്‌തേക്കാം."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"ആപ്പുകൾ ബാറ്ററി ഉപയോഗിച്ചുതീർക്കുന്നതായി ബാറ്ററി മാനേജർ കണ്ടെത്തുമ്പോൾ, ഈ ആപ്പുകൾ നിയന്ത്രിക്കാനുള്ള ഓപ്‌ഷൻ നിങ്ങൾക്കുണ്ട്. നിയന്ത്രിത ആപ്പുകൾ ശരിയായ രീതിയിൽ പ്രവർത്തിക്കാതിരിക്കുകയും അറിയിപ്പുകൾ വൈകുകയും ചെയ്‌തേക്കാം."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"നിങ്ങൾ അപൂർവ്വമായി ഉപയോഗിക്കുന്ന ആപ്പുകൾക്കായി ബാറ്ററി ഉപഭോഗം നിയന്ത്രിക്കുക"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"ആപ്പുകൾ ബാറ്ററി ഉപയോഗിച്ചുതീർക്കുന്നതായി ബാറ്ററി മാനേജർ കണ്ടെത്തുമ്പോൾ, ഈ ആപ്പുകൾ നിയന്ത്രിക്കാനുള്ള ഓപ്‌ഷൻ നിങ്ങൾക്കുണ്ട്. നിയന്ത്രിത ആപ്പുകൾ ശരിയായ രീതിയിൽ പ്രവർത്തിക്കാതിരിക്കുകയും അറിയിപ്പുകൾ വൈകുകയും ചെയ്‌തേക്കാം."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"നിയന്ത്രിത ആപ്പുകൾ"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d ആപ്പുകൾക്കായി ബാറ്ററി ഉപഭോഗം നിയന്ത്രിക്കുന്നു</item>
@@ -2407,7 +2432,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ഈ ആപ്പുകൾ പശ്ചാത്തലത്തിൽ ബാറ്ററി ഉപയോഗിച്ച് കൊണ്ടിരിക്കുന്നു. നിയന്ത്രിത ആപ്പുകൾ ശരിയായ രീതിയിൽ പ്രവർത്തിക്കാതിരിക്കുകയും അറിയിപ്പുകൾ വൈകുകയും ചെയ്‌തേക്കാം."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"ബാറ്ററി മാനേജർ ഉപയോഗിക്കുക"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"ആപ്പുകൾ ബാറ്ററി ഉപയോഗിച്ചുതീർക്കുമ്പോൾ കണ്ടെത്തുക"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ഓണാക്കുക / ആപ്പുകൾ ബാറ്ററി ശൂന്യമാക്കുമ്പോൾ കണ്ടെത്തുക"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ഓണാക്കുക / ആപ്പുകൾ ബാറ്ററി ശൂന്യമാക്കുമ്പോൾ കണ്ടെത്തുക"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ഓഫ്"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d ആപ്പുകൾ പരിമിതപ്പെടുത്തി</item>
@@ -2515,7 +2540,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>
@@ -2596,8 +2620,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>
@@ -2613,10 +2636,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ഈ ഉപയോക്താവിന് ക്രെഡൻഷ്യലുകളൊന്നും ലഭ്യമല്ല"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN, ആപ്‌സ് എന്നിവയ്ക്കായി ഇൻസ്റ്റാൾ ചെയ്തു"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"വൈഫൈ ഇൻസ്റ്റാൾ ചെയ്തു"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ആപ്പ് ഇൻസ്റ്റാൾ സോഴ്സ് പരിശോധിച്ചുറപ്പിക്കൽ ഇൻസ്റ്റാൾ ചെയ്തു"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"എല്ലാ ഉള്ളടക്കങ്ങളും നീക്കംചെയ്യണോ?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ആപ്പ് സോഴ്സ് സർട്ടിഫിക്കറ്റ്"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"സ്വന്തം ഉത്തരവാദിത്തത്തിൽ സർട്ടിഫിക്കറ്റ് ഇൻസ്റ്റാൾ ചെയ്യൂ"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"നിങ്ങളുടെ ഉപകരണത്തിന് സുരക്ഷിതമായ ആപ്പുകൾ ആപ്പ് സോഴ്സ് സർട്ടിഫിക്കറ്റുകൾ പരിശോധിച്ച് ഉറപ്പിക്കുന്നു. നിങ്ങൾക്ക് വിശ്വാസമുള്ള സ്ഥാപനങ്ങളിൽ നിന്നുള്ള സർട്ടിഫിക്കറ്റുകൾ മാത്രം ഇൻസ്റ്റാൾ ചെയ്യുക."</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>
@@ -2644,10 +2679,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>
@@ -2661,6 +2692,11 @@
     <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>
+    <!-- no translation found for notification_history_count (1859304685071321991) -->
     <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>
@@ -2893,9 +2929,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ഒരു ഉപയോക്തൃ സർട്ടിഫിക്കറ്റ്"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ഒരു CA സർട്ടിഫിക്കറ്റ്"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA സർട്ടിഫിക്കറ്റുകൾ"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ഒരു ആപ്പ് സോഴ്സ് സർട്ടിഫിക്കറ്റ്"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ക്രെഡന്‍ഷ്യല്‍ വിശദാംശങ്ങൾ"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ക്രെഡൻഷ്യൽ നീക്കംചെയ്തു: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"ഉപയോക്തൃ ക്രെഡൻഷ്യലുകളൊന്നും ഇൻസ്‌റ്റാൾ ചെയ്‌തിട്ടില്ല"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"സർട്ടിഫിക്കറ്റ് ഉപയോഗിക്കാൻ റീസ്റ്റാർട്ട് ചെയ്യൂ"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"ഈ ആപ്പ് സോഴ്സ് സർട്ടിഫിക്കറ്റ് ഉപയോഗിക്കാൻ നിങ്ങളുടെ ഉപകരണം റീസ്റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"അൺഇൻസ്റ്റാൾ ചെയ്യൽ പൂർത്തിയാക്കാൻ റീസ്റ്റാർട്ട് ചെയ്യൂ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"ഈ ആപ്പ് സോഴ്സ് സർട്ടിഫിക്കറ്റ് അൺഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങളുടെ ഉപകരണം റീസ്റ്റാർട്ട് ചെയ്യേണ്ടതുണ്ട്"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"റീസ്റ്റാർട്ട് ചെയ്യുക"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ഇപ്പോൾ വേണ്ട"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"സ്പെൽ ചെക്കർ"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"ജോലിക്കായുള്ള സ്‌പെൽ ചെക്കർ"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"നിലവിലെ നിങ്ങളുടെ പൂർണ്ണ ബാക്കപ്പ് പാ‌സ്‌വേഡ് ഇവിടെ ടൈപ്പുചെയ്യുക"</string>
@@ -3010,7 +3053,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>
@@ -3079,7 +3121,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>
@@ -3089,6 +3130,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>
@@ -3102,7 +3144,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>
@@ -3120,6 +3161,8 @@
     <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>
+    <!-- no translation found for nfc_and_payment_settings_payment_off_nfc_off_summary (7132040463607801625) -->
+    <skip />
     <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>
@@ -3130,13 +3173,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>
@@ -3160,7 +3204,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>
@@ -3198,6 +3242,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>
@@ -3207,18 +3252,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>
@@ -3226,6 +3272,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>
@@ -3249,6 +3298,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>
@@ -3275,7 +3325,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>
@@ -3306,7 +3356,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>
@@ -3336,10 +3386,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>
@@ -3383,16 +3435,33 @@
     <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>
+    <!-- no translation found for notification_history_summary (6821337322742231789) -->
+    <skip />
+    <!-- no translation found for notification_history (8663811361243456201) -->
+    <skip />
+    <!-- no translation found for notification_history_turn_on (3298178949776249681) -->
+    <skip />
+    <!-- no translation found for notification_history_turn_off (3141050596252009528) -->
+    <skip />
+    <!-- no translation found for notification_history_off_title_extended (2174043349602912717) -->
+    <skip />
+    <!-- no translation found for notification_history_view_settings (5269317798670449002) -->
+    <skip />
     <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>
+    <!-- no translation found for bubbles_conversation_toggle_summary (7518341992582158610) -->
+    <skip />
     <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>
@@ -3410,6 +3479,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>
@@ -3440,6 +3510,18 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"പ്രവർത്തനരീതി"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ശ‌ബ്‌ദം അനുവദിക്കുക"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"അറിയിപ്പുകൾ ഒരിക്കലും കാണിക്കരുത്"</string>
+    <!-- no translation found for conversations_category_title (5586541340846847798) -->
+    <skip />
+    <!-- no translation found for conversation_category_title (6777135786004214149) -->
+    <skip />
+    <!-- no translation found for demote_conversation_title (6355383023376508485) -->
+    <skip />
+    <!-- no translation found for demote_conversation_summary (4319929331165604112) -->
+    <skip />
+    <!-- no translation found for promote_conversation_title (4731148769888238722) -->
+    <skip />
+    <!-- no translation found for promote_conversation_summary (3890724115743515035) -->
+    <skip />
     <string name="notification_importance_min" msgid="4609688642942787774">"നിശബ്‌ദമായും ചുരുക്കിയും കാണിക്കുക"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"നിശബ്ദമായി കാണിക്കുക"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ശബ്ദമുണ്ടാക്കുക"</string>
@@ -3458,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>
@@ -3479,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>
@@ -3540,8 +3623,13 @@
     <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>
+    <!-- no translation found for notification_vibrate_title (1422330728336623351) -->
+    <skip />
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ശബ്‌ദം"</string>
+    <!-- no translation found for notification_conversation_important (3502749563429704283) -->
+    <skip />
+    <!-- no translation found for notification_conversation_add_to_home (8136269431130231389) -->
+    <skip />
     <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>
@@ -3595,6 +3683,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>
@@ -3608,15 +3700,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">
@@ -3659,6 +3756,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>
@@ -3743,8 +3841,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 +3852,8 @@
     <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>
+    <!-- no translation found for app_permissions_summary_more (6247952473615352350) -->
+    <skip />
     <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">"അസിസ്റ്റ്, ശബ്ദ ഇൻപുട്ട്"</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_0">%1$d</xliff:g> / <xliff:g id="COUNT_1">%2$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">"ഫോൺ പരിശോധിക്കുന്നതിന്, ഡബിൾ ടാപ്പ് ചെയ്യുക"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"ടാബ്‌ലെറ്റ് പരിശോധിക്കുന്നതിന്, രണ്ടുതവണ ടാപ്പുചെയ്യുക"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"ഉപകരണം പരിശോധിക്കുന്നതിന്, രണ്ടുതവണ ടാപ്പുചെയ്യുക"</string>
@@ -4405,20 +4513,33 @@
     <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) -->
+    <!-- no translation found for graphics_driver_dashboard_title (5661084817492587796) -->
+    <skip />
+    <!-- no translation found for graphics_driver_dashboard_summary (6348759885315793654) -->
+    <skip />
+    <!-- no translation found for graphics_driver_footer_text (5123754522284046790) -->
+    <skip />
+    <!-- no translation found for graphics_driver_all_apps_preference_title (1343065382898127360) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_title (3133255818657706857) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_default (764432460281859855) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_game_driver (3115277644656023504) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_prerelease_driver (5389656885733341448) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_system (3754748149113184126) -->
+    <skip />
+    <!-- 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_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) -->
+    <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>
@@ -4582,7 +4703,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 +4711,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>
@@ -4605,6 +4722,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>
@@ -4668,6 +4787,13 @@
     <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>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index e8b5a6f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Байхгүй"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Аль нь ч биш"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"СИМ"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Байхгүй"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 ebc897e..ef63ba8 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>
@@ -99,13 +66,12 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Харагдалтын завсарлага"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Дуугаа залгахыг түгжих"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Дэлгэц түгжигдсэн үед блютүүт залгагчийг ашиглахаас сэргийлэх"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth төхөөрөмж"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Төхөөрөмжийн нэр"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Төхөөрөмжийн тохиргоо"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Профайлын тохиргоо"</string>
     <string name="bluetooth_name_not_set" msgid="4654357917928126208">"Нэр тохируулаагүй, бүртгэлийн нэрийг ашиглаж байна"</string>
     <string name="bluetooth_scan_for_devices" msgid="8143654526358934069">"Төхөөрөмжүүдийг скан хийх"</string>
-    <string name="bluetooth_rename_device" msgid="4219655243836021443">"Энэ төхөөрөмжийг дахин нэрлэх"</string>
+    <string name="bluetooth_rename_device" msgid="4219655243836021443">"Энэ төхөөрөмжийн нэрийг өөрчлөх"</string>
     <string name="bluetooth_rename_button" msgid="9162500408570289545">"Нэр солих"</string>
     <string name="bluetooth_disconnect_title" msgid="4581951246357823044">"Төхөөрөмжийг салгах уу?"</string>
     <string name="bluetooth_disconnect_all_profiles" product="default" msgid="1934297101665686854">"Таны утас <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-с сална."</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"автомат товшилтын хугацаа"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Таны апп хэвийн хэмжээний батарей ашиглаж байна. Хэрэв апп хэт их батарей ашиглаж байвал таны төхөөрөмж танд авах боломжтой алхмуудыг санал болгоно.\n\nХэрэв таны батарей дуусах гэж байвал та Батарей хэмнэгчийг хүссэн үедээ асаах боломжтой."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Батерейны менежер"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Аппыг автоматаар удирдах"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Тогтмол ашигладаггүй аппуудын батерейг хязгаарлах"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Батерейны менежер нь аппуудыг батерейг хурдан дуусгаж байгааг илрүүлэх үед та тэдгээр аппыг хязгаарлах боломжтой. Хязгаарласан аппууд буруу ажиллаж болзошгүй бөгөөд мэдэгдэл хоцорч болзошгүй."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Батерейны менежер нь аппуудыг батерейг хурдан дуусгаж байгааг илрүүлэх үед та тэдгээр аппыг хязгаарлах боломжтой. Хязгаарласан аппууд буруу ажиллаж болзошгүй бөгөөд мэдэгдэл хоцорч болзошгүй."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Батерейны менежер нь аппуудыг батерейг хурдан дуусгаж байгааг илрүүлэх үед та тэдгээр аппыг хязгаарлах боломжтой. Хязгаарласан аппууд буруу ажиллаж болзошгүй бөгөөд мэдэгдэл хоцорч болзошгүй."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Тогтмол ашигладаггүй аппуудын батерейг хязгаарлах"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Батерейны менежер нь аппуудыг батерейг хурдан дуусгаж байгааг илрүүлэх үед та тэдгээр аппыг хязгаарлах боломжтой. Хязгаарласан аппууд буруу ажиллаж болзошгүй бөгөөд мэдэгдэл хоцорч болзошгүй."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Хязгаарласан аппууд"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d аппын батерей ашиглалтыг хязгаарлаж байна</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Эдгээр апп батарейг дэвсгэрт ашигласаар байна. Хязгаарласан аппууд зохих ёсоор ажиллахгүй байж болзошгүй бөгөөд мэдэгдэл хоцорч болзошгүй."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Батерейны менежерийг ашиглах"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Аппууд батерейг хурдан дуусгах үед илрүүлэх"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Асаах / Аппууд батерейг хурдан дуусгах үед илрүүлэх"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Асаах / Аппууд батерейг хурдан дуусгах үед илрүүлэх"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Унтраалттай"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d аппыг хязгаарласан</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Энэ хэрэглэгчид итгэмжлэл байхгүй байна"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN, апп-д суулгасан"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi-д суулгасан"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Апп суулгах эх сурвалжийн баталгаажуулалтад зориулж суулгасан"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Бүх агуулгыг устгах уу?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Аппын эх сурвалжийн сертификат"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Энэ сертификатыг суулгах эрсдэлийг та хариуцна"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Аппууд нь таны төхөөрөмжийн хувьд аюулгүй болохыг аппын эх сурвалжийн сертификат баталгаажуулдаг. Зөвхөн итгэдэг байгууллагаасаа сертификатыг суулгана уу."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"Нэг хэрэглэгчийн сертификат"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"нэг CA сертификат"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA сертификат"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"Аппын эх сурвалжийн нэг сертификат"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Итгэмжлэлийн дэлгэрэнгүй"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Мэдээлэл устсан: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Ямар ч хэрэглэгчийн итгэмжлэл суулгаагүй байна"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Сертификатыг ашиглахын тулд дахин эхлүүлэх"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Аппын эх сурвалжийн энэ сертификатыг ашиглахын тулд та төхөөрөмжөө дахин эхлүүлэх хэрэгтэй"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Устгаж дуусгахын тулд дахин эхлүүлэх"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Аппын эх сурвалжийн энэ сертификатыг устгахын тулд та төхөөрөмжөө дахин эхлүүлэх хэрэгтэй"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Дахин эхлүүлэх"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Одоо биш"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Алдаа шалгагч"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Ажилд зориулсан зөв бичгийн алдаа шалгагч"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Өөрийн бүрэн нөөцлөх нууц үгийг энд оруулна уу"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Чимээгүй харуулж багасгах"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Дуугүй харуулах"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Дуу гаргах"</string>
@@ -3458,7 +3516,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 +3535,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 +3597,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 +3654,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 +3671,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 +3727,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>
@@ -3741,8 +3812,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 +3823,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 +3835,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 +3986,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 +4156,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 +4221,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 +4313,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>
@@ -4403,20 +4483,24 @@
     <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="5389656885733341448">"Урьдчилан гаргасан драйвер"</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_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) -->
+    <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>
@@ -4578,9 +4662,8 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Үнийг нь сүлжээний үйлчилгээ үзүүлэгчээсээ тодруулна уу."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Аппын дата ашиглалт"</string>
     <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="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 +4672,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 +4683,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>
@@ -4666,6 +4748,13 @@
     <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>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index f131d85..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"काहीही नाही"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"काहीही नाही"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"सिम"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"सिम"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"नको"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 44c2f88..91c6655 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"दृश्यमानता टाइमआउट"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"व्हॉइस डायलिंग लॉक करा"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"स्क्रीन लॉक असते तेव्हा ब्लूटूथ डायलरचा वापर प्रतिबंधित करा"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ब्लूटूथ डिव्हाइस"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"डिव्हाइस नाव"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"डिव्हाइस सेटिंग्ज"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"प्रोफाईल सेटिंग्ज"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1576,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 +1626,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"हॉटस्पॉट चालू"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"टेदरिंग"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"डेटा सेव्हर चालू असताना टिथर करू शकत नाही किंवा पोर्टेबल हॉटस्पॉटचा वापर करू शकत नाही"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1722,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 +1730,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>
@@ -1898,7 +1863,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 +2063,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 +2071,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2141,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"ऑटो क्लिक वेळ"</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_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 +2188,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>
@@ -2395,10 +2414,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"तुमची अ‍ॅप्स योग्य प्रमाणात बॅटरी वापरत आहेत. तुमची अ‍ॅप्स जास्त बॅटरी वापरत असल्यास तुमचे डिव्हाइस तुम्ही करू शकता अशा क्रिया सुचवेल. \n\nबॅटरी संपत आली असल्यास तुम्ही कायम बॅटरी सेव्हर सुरू करू शकता."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"बॅटरी व्यवस्थापक"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"अ‍ॅप्स आपोआप व्यवस्थापित करा"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"तुम्ही नेहमी वापरत नसलेल्या ॲप्सचा बॅटरी वापर मर्यादित करा"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"जेव्हा बॅटरी व्यवस्थापकाला अ‍ॅप्सद्वारे बॅटरी जास्त वापरली जात आहे असे लक्षात येईल, तेव्हा तुमच्याकडे या अ‍ॅप्सचा वापर मर्यादित राखण्याचा पर्याय असेल. प्रतिबंधित अ‍ॅप्स योग्यरीत्या कार्य करणार नाहीत आणि सूचना येण्यास उशीर होऊ शकतो."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"जेव्हा बॅटरी व्यवस्थापकाला अ‍ॅप्सद्वारे बॅटरी जास्त वापरली जात आहे असे लक्षात येईल, तेव्हा तुमच्याकडे या अ‍ॅप्सचा वापर मर्यादित राखण्याचा पर्याय असेल. प्रतिबंधित अ‍ॅप्स योग्यरीत्या कार्य करणार नाहीत आणि सूचना येण्यास उशीर होऊ शकतो."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"जेव्हा बॅटरी व्यवस्थापकाला अ‍ॅप्सद्वारे बॅटरी जास्त वापरली जात आहे असे लक्षात येईल, तेव्हा तुमच्याकडे या अ‍ॅप्सचा वापर मर्यादित राखण्याचा पर्याय असेल. प्रतिबंधित अ‍ॅप्स योग्यरीत्या कार्य करणार नाहीत आणि सूचना येण्यास उशीर होऊ शकतो."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"तुम्ही नेहमी वापरत नसलेल्या ॲप्सचा बॅटरी वापर मर्यादित करा"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"जेव्हा बॅटरी व्यवस्थापकाला अ‍ॅप्सद्वारे बॅटरी जास्त वापरली जात आहे असे लक्षात येईल, तेव्हा तुमच्याकडे या अ‍ॅप्सचा वापर मर्यादित राखण्याचा पर्याय असेल. प्रतिबंधित अ‍ॅप्स योग्यरीत्या कार्य करणार नाहीत आणि सूचना येण्यास उशीर होऊ शकतो."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"प्रतिबंधित अ‍ॅप्स"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d ॲप्ससाठी बॅटरीचा वापर मर्यादित करत आहे</item>
@@ -2408,7 +2425,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ही अ‍ॅप्स बॅकग्राउंडवर बॅटरी वापरत आहेत. प्रतिबंधित अ‍ॅप्स व्यवस्थित काम करू शकणार नाहीत आणि सूचना येण्यास उशीर होऊ शकतो."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"बॅटरी व्यवस्थापक वापरा"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"अ‍ॅप्सची बॅटरी केव्हा संंपते ते ओळखा"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ॲप्सची बॅटरी केव्हा संपते ते ओळखत आहे / सुरू आहे"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ॲप्सची बॅटरी केव्हा संपते ते ओळखत आहे / सुरू आहे"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"बंद"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d अ‍ॅप्स प्रतिबंधित केली</item>
@@ -2516,7 +2533,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>
@@ -2597,8 +2613,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>
@@ -2614,10 +2629,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"या वापरकर्त्यासाठी क्रेडेंशियल उपलब्ध नाहीत"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN आणि ॲप्ससाठी इंस्टॉल केले"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"वाय-फाय साठी इंस्टॉल केले"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ॲप इंस्टॉल स्रोत पडताळणीसाठी इंस्टॉल केले आहे"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"सर्व आशय काढायचा?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ॲप स्रोत प्रमाणपत्र"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"हे प्रमाणपत्र तुमच्या जोखमीवर इंस्टॉल करा"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"ॲप स्रोत प्रमाणपत्रे ही तुमच्या डिव्हाइससाठी ती अ‍ॅप्स सुरक्षित आहेत की नाहीत याची पडताळणी करतात. फक्त तुमचा विश्वास असलेल्या संस्थांकडील प्रमाणपत्रे इंस्टॉल करा."</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>
@@ -2645,10 +2672,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>
@@ -2662,6 +2685,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>
@@ -2894,9 +2925,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"एक वापरकर्ता प्रमाणपत्र"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"एक CA प्रमाणपत्र"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA प्रमाणपत्रे"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"एक ॲप स्रोत प्रमाणपत्र"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"क्रेडेंशियल तपशील"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"क्रेडेंशियल काढले: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"कोणतेही वापरकर्ता क्रेडेंशियल इंस्टॉल केलेले नाहीत"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"प्रमाणपत्र वापरण्यासाठी रीस्टार्ट करा"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"हे ॲप स्रोत प्रमाणपत्र वापरण्यासाठी तुम्हाला तुमचे डिव्हाइस रीस्टार्ट करणे आवश्यक आहे"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"अनइंस्टॉल करणे पूर्ण करण्यासाठी रीस्टार्ट करा"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"हे ॲप स्रोत प्रमाणपत्र अनइंस्टॉल करण्यासाठी तुम्हाला तुमचे डिव्हाइस रीस्टार्ट करणे आवश्यक आहे"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"रीस्टार्ट करा"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"आता नाही"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"शब्दलेखन तपासक"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"ऑफिसमध्ये वापरण्यायोग्य स्पेल-चेकर"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"येथे तुमचा वर्तमान पूर्ण बॅकअप पासवर्ड टाइप करा"</string>
@@ -3011,7 +3049,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>
@@ -3080,7 +3117,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>
@@ -3090,6 +3126,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>
@@ -3103,7 +3140,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>
@@ -3121,6 +3157,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>
@@ -3131,13 +3168,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>
@@ -3161,7 +3199,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>
@@ -3199,6 +3237,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>
@@ -3208,18 +3247,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>
@@ -3227,6 +3267,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>
@@ -3250,6 +3293,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>
@@ -3276,7 +3320,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>
@@ -3307,7 +3351,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>
@@ -3337,10 +3381,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>
@@ -3384,16 +3430,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>
@@ -3411,6 +3467,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>
@@ -3441,6 +3498,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"शांतपणे दाखवा आणि कमी करा"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"शांतपणे दर्शवा"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ध्वनी करा"</string>
@@ -3459,7 +3522,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>
@@ -3480,6 +3543,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>
@@ -3541,8 +3605,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>
@@ -3596,6 +3662,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>
@@ -3609,15 +3679,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">
@@ -3660,6 +3735,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>
@@ -3744,8 +3820,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>
@@ -3757,6 +3831,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>
@@ -3768,9 +3843,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>
@@ -3914,8 +3994,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>
@@ -4081,6 +4164,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>
@@ -4144,14 +4229,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>
@@ -4240,8 +4321,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>
@@ -4406,20 +4491,24 @@
     <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="5389656885733341448">"रिलीझ करण्यापूर्वीचा ड्रायव्हर"</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_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) -->
+    <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>
@@ -4583,7 +4672,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>
@@ -4592,11 +4680,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>
@@ -4606,6 +4691,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>
@@ -4669,6 +4756,13 @@
     <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>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index 2e9178e..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Tiada"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Tiada"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Tiada"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 66773af..905e13c 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Tamat masa kebolehlihatan"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Kunci dailan suara"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Halang penggunaan pendail bluetooth apabila skrin dikunci"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Peranti Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nama peranti"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Tetapan peranti"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Tetapan profil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Apl anda menggunakan jumlah kuasa bateri seperti biasa. Jika apl menggunakan terlalu banyak kuasa bateri, peranti anda akan mencadangkan tindakan yang boleh anda ambil.\n\nAnda boleh menghidupkan Penjimat Bateri pada sepanjang masa jika anda hampir kehabisan kuasa bateri."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Pengurus Bateri"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Urus apl secara automatik"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Hadkan bateri untuk apl yang jarang digunakan"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Apabila Pengurus Bateri mengesan apl menyusutkan bateri, anda diberikan pilihan untuk mengehadkan apl ini. Apl terhad mungkin tidak berfungsi dengan betul dan pemberitahuan mungkin ditangguhkan."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Apabila Pengurus Bateri mengesan apl menyusutkan bateri, anda diberikan pilihan untuk mengehadkan apl ini. Apl terhad mungkin tidak berfungsi dengan betul dan pemberitahuan mungkin ditangguhkan."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Apabila Pengurus Bateri mengesan apl menyusutkan bateri, anda diberikan pilihan untuk mengehadkan apl ini. Apl terhad mungkin tidak berfungsi dengan betul dan pemberitahuan mungkin ditangguhkan."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Hadkan bateri untuk apl yang jarang digunakan"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Apabila Pengurus Bateri mengesan apl menyusutkan bateri, anda diberikan pilihan untuk mengehadkan apl ini. Apl terhad mungkin tidak berfungsi dengan betul dan pemberitahuan mungkin ditangguhkan."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Apl terhad"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Mengehadkan penggunaan bateri untuk %1$d apl</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Apl ini telah menggunakan bateri di latar belakang. Apl terhad mungkin tidak berfungsi dengan betul dan pemberitahuan mungkin ditangguhkan."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Gunakan Pengurus Bateri"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Kesan apabila apl menyusutkan bateri"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Hidup / Mengesan apabila apl menyusutkan bateri"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Hidup / Mengesan apabila apl menyusutkan bateri"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Mati"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d apl disekat</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Bukti kelayakan tidak tersedia untuk pengguna ini"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Dipasang untuk VPN dan apl"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Dipasang untuk Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Dipasang untuk pengesahan sumber pemasangan apl"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Alih keluar semua kandungan?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Sijil Sumber Apl"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Pasang sijil ini atas risiko anda sendiri"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Sijil sumber apl mengesahkan bahawa apl selamat untuk peranti anda. Hanya pasang sijil daripada organisasi yang anda percayai."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"sijil satu pengguna"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"satu sijil CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d sijil CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"Satu sijil Sumber Apl"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Butiran bukti kelayakan"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Bukti kelayakan dialih keluar: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Tiada bukti kelayakan pengguna yang dipasang"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Mulakan semula untuk menggunakan sijil"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Untuk menggunakan sijil sumber apl ini, anda perlu memulakan semula peranti anda"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Mulakan semula untuk menyelesaikan penyahpasangan"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Untuk menyahpasang sijil sumber apl ini, anda perlu memulakan semula peranti anda"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Mulakan semula"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Bukan sekarang"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Penyemak ejaan"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Penyemak ejaan untuk tempat kerja"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Taip kata laluan sandaran penuh semasa anda di sini"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Pemacu Prakeluaran"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index 1adb12a..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"မရှိ"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"သုံးမထားပါ"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"ဆင်းမ်ကဒ်"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"မရှိ"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 3f0c16d..514d5af 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"မြင်နိုင်သော အချိန်ကန့်သတ်ချက်"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"အသံဖြင့်ဖုန်းနံပါတ်ပြောကာဖုန်းဆက်ခြင်းကိုပိတ်ရန်"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"မျက်နှာပြင်သော့ချထားသည့်အခါ ဘလူးတုသ်နံပါတ်ကွက်အား အသုံးပြုခြင်းကို ကာကွယ်မည်"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ဘလူးတူးသ်စက်ပစ္စည်းများ"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"စက်အမည်"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"စက်ပစ္စည်း ဆက်တင်းများ"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"ကိုယ်ရေးအချက်အလက် ဆက်တင်များ"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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;To zoom in:&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 +2136,41 @@
     <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="2370077188725433271">"အလိုအလျောက် ကလစ်လုပ်ရန်အချိန်"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"သင့်အက်ပ်များသည် ပုံမှန်ဘက်ထရီအားကို အသုံးပြုနေသည်။ ၎င်းတို့ ဘက်ထရီအသုံးများလျှင် သင့်စက်က သင်လုပ်ဆောင်နိုင်သည်များကို အကြံပြုပါမည်။ \n\nဘက်ထရီအားနည်းနေလျှင် \'ဘက်ထရီ ချွေတာမှု\' ကို အချိန်မရွေး ဖွင့်နိုင်ပါသည်။"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ဘက်ထရီ စီမံခန့်ခွဲမှုစနစ်"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"အက်ပ်များကို အလိုအလျောက် စီမံခြင်း"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"အသုံးပြုလေ့ မရှိသော အက်ပ်များအတွက် ဘက်ထရီ ကန့်သတ်ရန်"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"အက်ပ်များက ဓာတ်ခဲကို အားကုန်စေကြောင်း \'ဘက်ထရီ မန်နေဂျာ\' က တွေ့ရှိသည့်အခါ ထိုအက်ပ်များကို ကန့်သတ်ရန် သင်က ရွေးချယ်နိုင်ပါမည်။ ကန့်သတ်ထားသော အက်ပ်များသည် ကောင်းစွာမလုပ်ဆောင်တော့ဘဲ အကြောင်းကြားချက်များ နောက်ကျနိုင်ပါသည်။"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"အက်ပ်များက ဓာတ်ခဲကို အားကုန်စေကြောင်း \'ဘက်ထရီ မန်နေဂျာ\' က တွေ့ရှိသည့်အခါ ထိုအက်ပ်များကို ကန့်သတ်ရန် သင်က ရွေးချယ်နိုင်ပါမည်။ ကန့်သတ်ထားသော အက်ပ်များသည် ကောင်းစွာမလုပ်ဆောင်တော့ဘဲ အကြောင်းကြားချက်များ နောက်ကျနိုင်ပါသည်။"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"အက်ပ်များက ဓာတ်ခဲကို အားကုန်စေကြောင်း \'ဘက်ထရီ မန်နေဂျာ\' က တွေ့ရှိသည့်အခါ ထိုအက်ပ်များကို ကန့်သတ်ရန် သင်က ရွေးချယ်နိုင်ပါမည်။ ကန့်သတ်ထားသော အက်ပ်များသည် ကောင်းစွာမလုပ်ဆောင်တော့ဘဲ အကြောင်းကြားချက်များ နောက်ကျနိုင်ပါသည်။"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"အသုံးပြုလေ့ မရှိသော အက်ပ်များအတွက် ဘက်ထရီ ကန့်သတ်ရန်"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"အက်ပ်များက ဓာတ်ခဲကို အားကုန်စေကြောင်း \'ဘက်ထရီ မန်နေဂျာ\' က တွေ့ရှိသည့်အခါ ထိုအက်ပ်များကို ကန့်သတ်ရန် သင်က ရွေးချယ်နိုင်ပါမည်။ ကန့်သတ်ထားသော အက်ပ်များသည် ကောင်းစွာမလုပ်ဆောင်တော့ဘဲ အကြောင်းကြားချက်များ နောက်ကျနိုင်ပါသည်။"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"ကန့်သတ်ထားသည့် အက်ပ်များ"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">အက်ပ် %1$d ခု အတွက် ဘက်ထရီအသုံးပြုမှုကို ကန့်သတ်ထားသည်</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ဤအက်ပ်များသည် နောက်ခံတွင် ဘက်ထရီအသုံးပြုနေပါသည်။ ကန့်သတ်ထားသည့်အက်ပ်များသည် ကောင်းကောင်းအလုပ်လုပ်မည် မဟုတ်ဘဲ အကြောင်းကြားချက်များ ကြန့်ကြာမှု ရှိနိုင်ပါသည်။"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"\'ဘက်ထရီ မန်နေဂျာ\' အသုံးပြုပါ"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"ဓာတ်ခဲအားကုန်စေသည့် အက်ပ်များကို ဖော်ထုတ်ပေးသည်"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ဖွင့်ထားသည် / ဓာတ်ခဲအားကုန်စေသည့် အက်ပ်များကို ဖော်ထုတ်ပေးသည်"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ဖွင့်ထားသည် / ဓာတ်ခဲအားကုန်စေသည့် အက်ပ်များကို ဖော်ထုတ်ပေးသည်"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ပိတ်ထားသည်"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">အက်ပ် %1$d ခု ကန့်သတ်ထားသည်</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ဒီအသုံးပြုသူ အတွက် စိတ်ချရ အချက်များ မရှိ"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN နှင့် အက်ပ်များအတွက် ထည့်သွင်းထားပါသည်"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi အတွက် ထည့်သွင်းထားပါသည်"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"အက်ပ် ထည့်သွင်း အရင်းအမြစ် စိစစ်မှုကို ထည့်သွင်းပြီးပါပြီ"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"အကြောင်းအရာအားလုံး ဖယ်ရှားမလား။"</string>
     <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="app_src_certificate" msgid="436410009047766408">"အက်ပ် အရင်းအမြစ် အသိအမှတ်ပြုလက်မှတ်"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ဤအသိအမှတ်ပြုလက်မှတ်ကို သင့်ဆန္ဒအလျောက် ထည့်သွင်းပါ"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"သင့်စက်အတွက် အက်ပ်များ စိတ်ချရကြောင်းကို အက်ပ် အရင်းအမြစ် အသိအမှတ်ပြုလက်မှတ်များက အတည်ပြုပေးသည်။ သင်ယုံကြည်ရသော အဖွဲ့အစည်းများထံမှ လက်မှတ်များကိုသာ ထည့်သွင်းပါ။"</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"အသုံးပြုသူ၏ လက်မှတ် တစ်ခု"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"CA လက်မှတ်တစ်ခု"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA လက်မှတ်များ"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"အက်ပ် အရင်းအမြစ် အသိအမှတ်ပြုလက်မှတ် တစ်ခု"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"အထောက်အထား အသေးစိတ်များ"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ဖယ်ရှားလိုက်မည့် အထောက်အထား − <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"မည်သည့် အသုံးပြုသူအထောက်အထားကိုမျှ ထည့်သွင်းမထားပါ"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"အသိအမှတ်ပြုလက်မှတ်ကို အသုံးပြုရန် ပြန်စပါ"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"အက်ပ် အရင်းအမြစ် အသိအမှတ်ပြုလက်မှတ်ကို အသုံးပြုရန် သင်၏စက်ကို ပြန်စရန် လိုလိမ့်မည်"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"ပရိုဂရမ် ဖယ်ရှားမှုကို အပြီးသတ်ရန် ပြန်စပါ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"အက်ပ် အရင်းအမြစ် အသိအမှတ်ပြုလက်မှတ်ကို ဖယ်ရှားရန် သင်၏စက်ကို ပြန်စရန် လိုလိမ့်မည်"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ပြန်စပါ"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ယခုမလုပ်ပါ"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"စာလုံးပေါင်းစစ်ခြင်း"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"အလုပ်အတွက် စာလုံးပေါင်းစစ်စနစ်"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"အရန်သိမ်းဆည်းမှုအတွက် သင်၏လက်ရှိစကားဝှက် အပြည့်အစုံကို ရေးပါ။"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"တိတ်တဆိတ် ချုံ့ပြရန်"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"တိတ်တဆိတ်ပြပါ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"အသံဖွင့်ပါ"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"ကြိုတင်ထုတ်လုပ်ထားသည့် ဒရိုင်ဗာ"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 86431a7..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"Passord"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ingen"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ingen"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM-kort"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ingen"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAP2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 754295d..3b7b924 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Tidsavbrudd for synlighet"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Lås taleanrop"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Forhindrer bruk av Bluetooth-telefon når skjermen er låst"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-enheter"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Enhetsnavn"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Enhetsinnstillinger"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profilinnstillinger"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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>
@@ -1711,7 +1673,7 @@
     <string name="location_high_battery_use" msgid="4277318891200626524">"Høy batteribruk"</string>
     <string name="location_low_battery_use" msgid="5218950289737996431">"Lav batteribruk"</string>
     <string name="location_scanning_screen_title" msgid="2346125609614249968">"Søking etter Wi‑Fi og Bluetooth"</string>
-    <string name="location_scanning_wifi_always_scanning_title" msgid="5004781272733434794">"Wi‑Fi-søking"</string>
+    <string name="location_scanning_wifi_always_scanning_title" msgid="5004781272733434794">"Wi‑Fi-skanning"</string>
     <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"La apper og tjenester søke etter Wi-Fi-nettverk når som helst, selv når Wi-Fi er slått av. Dette kan for eksempel brukes til å forbedre posisjonsbaserte funksjoner og tjenester."</string>
     <string name="location_scanning_bluetooth_always_scanning_title" msgid="1809309545730215891">"Bluetooth-søking"</string>
     <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"La apper og tjenester søke etter enheter i nærheten når som helst, selv når Bluetooth er slått av. Dette kan for eksempel brukes til å forbedre posisjonsbaserte funksjoner og tjenester."</string>
@@ -1756,9 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Appene bruker en normal batterimengde. Hvis apper bruker for mye batteri, får du forslag om hva du kan gjøre.\n\nDu kan når som helst slå på batterisparing hvis du har lite batteri."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batteristyring"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Administrer apper automatisk"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Begrens batteribruken for apper du sjelden bruker"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Når batteristyring oppdager at apper bruker for mye batteri, får du muligheten til å begrense disse appene. Begrensede apper fungerer muligens ikke som de skal, og varsler kan bli forsinket."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Når batteristyring oppdager at apper bruker for mye batteri, får du muligheten til å begrense disse appene. Begrensede apper fungerer muligens ikke som de skal, og varsler kan bli forsinket."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Når batteristyring oppdager at apper bruker for mye batteri, får du muligheten til å begrense disse appene. Begrensede apper fungerer muligens ikke som de skal, og varsler kan bli forsinket."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Begrens batteribruken for apper du sjelden bruker"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Når batteristyring oppdager at apper bruker for mye batteri, får du muligheten til å begrense disse appene. Begrensede apper fungerer muligens ikke som de skal, og varsler kan bli forsinket."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Begrensede apper"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Begrenser batteribruken for %1$d apper</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Disse appene har brukt batteri i bakgrunnen. Begrensede apper fungerer muligens ikke som de skal, og varsler kan bli forsinket."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Bruk batteristyring"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Oppdag når apper har for høyt batteriforbruk"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"På / oppdager når apper har for høyt batteriforbruk"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"På / oppdager når apper har for høyt batteriforbruk"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Av"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d apper er begrenset</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Legitimasjon er ikke tilgjengelig for denne brukeren"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Installert for VPN og apper"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Installert for Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installert for bekreftelse av installeringskilde for app"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Vil du fjerne alt innholdet?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Sertifikat for appkilde"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installer dette sertifikatet på egen risiko"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Sertifikater for appkilde bekrefter at apper er trygge for enheten din. Bare installer sertifikater fra organisasjoner du stoler på."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ett brukersertifikat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ett CA-sertifikat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA-sertifikater"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ett sertifikat for appkilde"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Legitimasjonsdetaljer"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Fjernet legitimasjon: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Ingen brukerlegitimasjon er installert"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Start på nytt for å bruke sertifikatet"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Du må starte enheten din på nytt for å bruke dette sertifikatet for appkilde"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Start på nytt for å fullføre avinstalleringen"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Du må starte enheten din på nytt for å avinstallere dette sertifikatet for appkilde"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Start på nytt"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ikke nå"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Stavekontroll"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Stavekontroll for jobb"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Skriv inn nåværende passord for fullstendig sikkerhetskopiering her"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Driver som ikke er utgitt ennå"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index 03dfbdf..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"कुनै पनि होइन"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"कुनै पनि होइन"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"कुनै पनि होइन"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 2aea930..0272afa 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"दृश्यता समय समाप्त"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"भ्वाइस डायल गर्ने लक गर्नुहोस्"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"स्क्रिन लक भएको बेला ब्लुटुथ डायल गर्नेको प्रयोग बचाउनुहोस्"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ब्लुटुथ उपकरणहरू"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"उपकरण नाम"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"उपकरण सेटिङहरू"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"प्रोफाइल सेटिङहरू"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"हटस्पट सक्रिय छ"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"टेदरिङ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"डेटा सेभर अन हुँदा टेदरिङ वा पोर्टेबल हटस्पटहरूको प्रयोग गर्न सक्दैन"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"स्वतः क्लिक हुने समय"</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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"तपाईंका अनुप्रयोगहरूले सामान्य मात्रामा ब्याट्रीको प्रयोग गर्दै छन्‌। अनुप्रयोगहरूले अत्यन्त धेरै ब्याट्रीको प्रयोग गरेको खण्डमा तपाईंको यन्त्रले कारबाहीको सुझाव दिन्छ। \n\nतपाईंको ब्याट्री कम हुँदै गएको छ भने तपाईंले सधैँ ब्याट्री सेभर सक्रिय पार्न सक्नुहुन्छ।"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ब्याट्री प्रबन्धक"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"अनुप्रयोगहरूलाई स्वतः व्यवस्थित गर्नुहोस्"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"तपाईंले प्रायः प्रयोग नगर्ने अनुप्रयोगहरूमा ब्याट्री सीमित गर्नुहोस्"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"ब्याट्री प्रबन्धकले अनुप्रयोगहरूले ब्याट्री खर्च गरिरहेको पता लगाउँदा, तपाईंसँग यी अनुप्रयोगहरूलाई प्रतिबन्धित गर्ने विकल्प हुन्छ। प्रतिबन्धित अनुप्रयोगहरूले सही किसिमले काम नगर्न सक्छन् र सूचनाहरू आउन ढिलाइ हुन सक्छ।"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"ब्याट्री प्रबन्धकले अनुप्रयोगहरूले ब्याट्री खर्च गरिरहेको पता लगाउँदा, तपाईंसँग यी अनुप्रयोगहरूलाई प्रतिबन्धित गर्ने विकल्प हुन्छ। प्रतिबन्धित अनुप्रयोगहरूले सही किसिमले काम नगर्न सक्छन् र सूचनाहरू आउन ढिलाइ हुन सक्छ।"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"ब्याट्री प्रबन्धकले अनुप्रयोगहरूले ब्याट्री खर्च गरिरहेको पता लगाउँदा, तपाईंसँग यी अनुप्रयोगहरूलाई प्रतिबन्धित गर्ने विकल्प हुन्छ। प्रतिबन्धित अनुप्रयोगहरूले सही किसिमले काम नगर्न सक्छन् र सूचनाहरू आउन ढिलाइ हुन सक्छ।"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"तपाईंले प्रायः प्रयोग नगर्ने अनुप्रयोगहरूमा ब्याट्री सीमित गर्नुहोस्"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"ब्याट्री प्रबन्धकले अनुप्रयोगहरूले ब्याट्री खर्च गरिरहेको पता लगाउँदा, तपाईंसँग यी अनुप्रयोगहरूलाई प्रतिबन्धित गर्ने विकल्प हुन्छ। प्रतिबन्धित अनुप्रयोगहरूले सही किसिमले काम नगर्न सक्छन् र सूचनाहरू आउन ढिलाइ हुन सक्छ।"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"प्रतिबन्धित अनुप्रयोगहरू"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">ब्याट्रीको प्रयोग %1$d अनुप्रयोगहरूमा सीमित पार्दै</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"यी अनुप्रयोगहरूले पृष्ठभूमिमा ब्याट्री प्रयोग गरिरहेका छन्‌। प्रतिबन्ध लगाइएका अनुप्रयोगहरूले सही किसिमले काम नगर्न सक्छन् र सूचनाहरू आइपुग्न ढिलाइ हुन सक्छ।"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"ब्याट्री प्रबन्धकको प्रयोग गर्नुहोस्"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"अनुप्रयोगहरूले ब्याट्रीको चार्ज घटाउँदा थाहा पाउनुहोस्"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"सक्रिय छ / अनुप्रयोगहरूले ब्याट्रीको चार्ज घटाउने समय पत्ता लगाउँदै"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"सक्रिय छ / अनुप्रयोगहरूले ब्याट्रीको चार्ज घटाउने समय पत्ता लगाउँदै"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"निष्क्रिय छ"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d अनुप्रयोगहरूमा प्रतिबन्ध लगाइयो</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"साखकर्ताहरू यस प्रयोगकर्ताका लागि उपलव्ध छैन"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN र अनुप्रयोगहरूका लागि स्थापना गरिएको"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi का लागि स्थापना गरिएको"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"अनुप्रयोग स्थापना गर्ने स्रोतको प्रमाणीकरणका लागि स्थापना गरिएको"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"सम्पूर्ण सामग्री हटाउने हो?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"अनुप्रयोगका स्रोतको प्रमाणपत्र"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"यो प्रमाणपत्र आफ्नै जोखिममा स्थापना गर्नुहोस्"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"अनुप्रयोगका स्रोत प्रमाणपत्रहरूले यिनीहरू तपाईंको यन्त्रका लागि सुरक्षित छन् भन्ने पुष्टि गर्दछन्। तपाईंले विश्वास गर्ने सङ्गठनका CA प्रमाणपत्रहरू मात्र स्थापना गर्नुहोस्।"</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"एउटा प्रयोगकर्ता प्रमाणपत्र"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"एउटा CA प्रमाणपत्र"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA प्रमाणपत्रहरू"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"एउटा अनुप्रयोगका स्रोतको प्रमाणपत्र"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"प्रमाणका विवरणहरू"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"हटाइएको प्रमाण: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"प्रयोगकर्ताका प्रमाणहरू स्थापना गरिएका छैनन्"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"प्रमाणपत्र प्रयोग गर्न पुनः सुरु गर्नुहोस्"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"यो अनुप्रयोगका स्रोतको प्रमाणपत्र प्रयोग गर्न तपाईंले आफ्नो यन्त्र पुनः सुरु गर्न आवश्यक छ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"स्थापना रद्द गर्ने कार्य पूरा गर्न पुनः सुरु गर्नु…"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"यो अनुप्रयोगका स्रोतको प्रमाणपत्रको स्थापना रद्द गर्न तपाईंले आफ्नो यन्त्र पुनः सुरु गर्न आवश्यक छ"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"पुनः सुरु गर्नुहोस्"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"अहिले होइन"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"हिज्जे परीक्षक"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"कार्यस्थलको हिज्जे जाँचकर्ता"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"यहाँ तपाईंको हालको ब्याकअप पासवर्ड टाइप गर्नुहोस्"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,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>
@@ -3130,13 +3167,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>
@@ -3160,7 +3198,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>
@@ -3198,6 +3236,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>
@@ -3207,18 +3246,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>
@@ -3226,6 +3266,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>
@@ -3249,6 +3292,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>
@@ -3275,7 +3319,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>
@@ -3306,7 +3350,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>
@@ -3336,10 +3380,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>
@@ -3383,16 +3429,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>
@@ -3410,6 +3466,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>
@@ -3440,6 +3497,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"मौन रूपमा देखाई सानो बनाउनुहोस्‌"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"मौन रूपमा देखाउने"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"आवाज निकाल्ने"</string>
@@ -3458,7 +3521,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>
@@ -3479,6 +3542,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>
@@ -3540,8 +3604,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>
@@ -3595,6 +3661,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>
@@ -3608,15 +3678,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">
@@ -3659,6 +3734,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>
@@ -3743,8 +3819,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 +3830,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 +3842,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>
@@ -3913,8 +3993,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 +4163,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 +4228,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 +4320,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>
@@ -4405,20 +4490,24 @@
     <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="5389656885733341448">"अनुप्रयोग विमोचन गर्नुअघि परीक्षण गर्ने ड्राइभर"</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_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) -->
+    <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>
@@ -4582,7 +4671,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 +4679,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 +4690,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>
@@ -4668,6 +4755,13 @@
     <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>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index b1f9dfb..c88158b 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="palette_list_color_pink">@color/palette_list_dark_mode_color_pink</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 436a7a0..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Geen"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Geen"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"Sim"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"Sim"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Geen"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 c9cdbaf..8ca0b6b 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Zichtbaarheid uitstellen"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Spraakkeuze vergrendelen"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Gebruik van de Bluetooth-dialer voorkomen wanneer het scherm is vergrendeld"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-apparaten"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Apparaatnaam"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Apparaatinstellingen"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profielinstellingen"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Je apps gebruiken een normale hoeveelheid batterijlading. Als apps te veel batterijlading gebruiken, stelt je apparaat acties voor die je kunt uitvoeren.\n\nJe kunt Batterijbesparing altijd inschakelen als de batterij bijna leeg is."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batterijbeheer"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Apps automatisch beheren"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Batterijgebruik beperken voor apps die je niet vaak gebruikt"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Wanneer batterijbeheer detecteert dat apps de batterij snel leegmaken, heb je de optie om deze apps te beperken. Beperkte apps werken mogelijk niet goed en meldingen worden mogelijk vertraagd."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Wanneer batterijbeheer detecteert dat apps de batterij snel leegmaken, heb je de optie om deze apps te beperken. Beperkte apps werken mogelijk niet goed en meldingen worden mogelijk vertraagd."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Wanneer batterijbeheer detecteert dat apps de batterij snel leegmaken, heb je de optie om deze apps te beperken. Beperkte apps werken mogelijk niet goed en meldingen worden mogelijk vertraagd."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Batterijgebruik beperken voor apps die je niet vaak gebruikt"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Wanneer batterijbeheer detecteert dat apps de batterij snel leegmaken, heb je de optie om deze apps te beperken. Beperkte apps werken mogelijk niet goed en meldingen worden mogelijk vertraagd."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Beperkte apps"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Batterijgebruik voor %1$d apps wordt beperkt</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Deze apps hebben op de achtergrond batterijlading verbruikt. Beperkte apps werken mogelijk niet goed en meldingen kunnen worden vertraagd."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Batterijbeheer gebruiken"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detecteren wanneer apps de batterij snel leegmaken"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Aan/Detecteren wanneer apps de batterij snel leegmaken"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Aan/Detecteren wanneer apps de batterij snel leegmaken"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Uit"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d apps beperkt</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Er zijn geen inloggegevens beschikbaar voor deze gebruiker"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Geïnstalleerd voor VPN en apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Geïnstalleerd voor wifi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Geïnstalleerd om de app-installatiebron te verifiëren"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Alle content verwijderen?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificaat voor app-bron"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installeer dit certificaat op eigen risico"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Certificaten voor de app-bron verifiëren of apps veilig zijn voor je apparaat. Installeer alleen certificaten van organisaties die je vertrouwt."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"één gebruikerscertificaat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"één CA-certificaat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA-certificaten"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"één certificaat voor de app-bron"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Inloggegevens"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Inlog-item verwijderd: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Geen inloggegevens van gebruiker geïnstalleerd"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Start opnieuw op om certificaat te gebruiken"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Als je dit certificaat voor de app-bron wilt gebruiken, moet je je apparaat opnieuw opstarten"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Start opnieuw op om verwijdering te voltooien"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Als je dit certificaat voor de app-bron wilt verwijderen, moet je je apparaat opnieuw opstarten"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Opnieuw opstarten"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Niet nu"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Spellingcontrole"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Spellingcontrole voor werk"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Typ hier je huidige wachtwoord voor volledige back-up"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Stuurprogramma vooraf vrijgeven"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index a02672b..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"କିଛି ନାହିଁ"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"କିଛି ନୁହେଁ"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"କିଛି ନୁହେଁ"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 7afbb58..40f5122 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"ଦୃଶ୍ୟଲବ୍ଧତାର ସମୟଶେଷ"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ଭଏସ୍‌ ଡାୟଲିଂ ଲକ୍‌ କରନ୍ତୁ"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"ସ୍କ୍ରୀନ୍‌ ଲକ୍‌ ଥିବାବେଳେ ବ୍ଲୁଟୂଥ୍‍‌ ଡାଏଲର୍‌ର ବ୍ୟବହାରକୁ ରୋକନ୍ତୁ"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ବ୍ଲୁଟୂଥ୍‍‌ ଡିଭାଇସ୍‌ଗୁଡ଼ିକ"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ଡିଭାଇସ୍‌ର ନାମ"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"ଡିଭାଇସ୍ ସେଟିଙ୍ଗ"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"ପ୍ରୋଫାଇଲ୍‌ର ସେଟିଙ୍ଗ"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ହଟସ୍ପଟ୍‌ ଅନ୍‌"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ଟିଥର୍‌ କରୁଛି"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ଡାଟା ସେଭର୍‌ ଅନ୍‌ ଥିବାବେଳେ ଟିଥର୍‌ କିମ୍ୱା ପୋର୍ଟେବଲ୍‌ ହଟ୍‌ସ୍ପଟ୍‌ ବ୍ୟବହାର କରିପାରିବ ନାହିଁ"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"ସ୍ୱତଃ କ୍ଲିକ୍ ସମୟ"</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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ଆପଣଙ୍କର ଆପ୍ ସାଧାରଣ ଭାବେ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରୁଛି। ଯଦି ଆପ୍ ଅଧିକ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରନ୍ତି, ତେବେ ଡିଭାଇସ୍ ପଦକ୍ଷେପ ନେବା ପାଇଁ ଆପଣଙ୍କୁ ପରାମର୍ଶ ଦେବ। \n\n ବ୍ୟାଟେରୀ ଅଧିକ ଖର୍ଚ୍ଚ ହେଉଥିଲେ ଆପଣ ସର୍ବଦା ବ୍ୟାଟେରୀ ସେଭର୍‌କୁ ଚାଲୁ କରିପାରିବେ।"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ବ୍ୟାଟେରୀ ମ୍ୟାନେଜର୍‌"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ସ୍ଵଚାଳିତଭାବେ ଆପ୍‌ ପରିଚାଳନା କରନ୍ତୁ"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ଆପଣ ଅଧିକାଂଶ ସମୟରେ ବ୍ୟବହାର କରୁନଥିବା ଆପ୍ ପାଇଁ ବ୍ୟାଟେରୀ ବ୍ୟବହାରକୁ ସୀମିତ କରନ୍ତୁ"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"ଆପ୍‌ଗୁଡ଼ିକ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରୁଥିବା ବିଷୟରେ ଯେତେବେଳେ ବ୍ୟାଟେରୀ ମ୍ୟାନେଜର୍ ଠାବ କରେ, ସେତେବେଳେ ଏହିସବୁ ଆପ୍ ଉପରେ ପ୍ରତିବନ୍ଧକ ଲଗାଇବା ପାଇଁ ଆପଣଙ୍କ ପାଖରେ ବିକଳ୍ପ ରହିବ। ପ୍ରତିବନ୍ଧିତ ଆପ୍ ଠିକ୍ ଭାବେ କାମ ନକରିପାରେ ଏବଂ ବିଜ୍ଞପ୍ତି ଆସିବାରେ ବିଳମ୍ୱ ହୋଇପାରେ।"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"ଆପ୍‌ଗୁଡ଼ିକ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରୁଥିବା ବିଷୟରେ ଯେତେବେଳେ ବ୍ୟାଟେରୀ ମ୍ୟାନେଜର୍ ଠାବ କରେ, ସେତେବେଳେ ଏହିସବୁ ଆପ୍ ଉପରେ ପ୍ରତିବନ୍ଧକ ଲଗାଇବା ପାଇଁ ଆପଣଙ୍କ ପାଖରେ ବିକଳ୍ପ ରହିବ। ପ୍ରତିବନ୍ଧିତ ଆପ୍ ଠିକ୍ ଭାବେ କାମ ନକରିପାରେ ଏବଂ ବିଜ୍ଞପ୍ତି ଆସିବାରେ ବିଳମ୍ୱ ହୋଇପାରେ।"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"ଆପ୍‌ଗୁଡ଼ିକ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରୁଥିବା ବିଷୟରେ ଯେତେବେଳେ ବ୍ୟାଟେରୀ ମ୍ୟାନେଜର୍ ଠାବ କରେ, ସେତେବେଳେ ଏହିସବୁ ଆପ୍ ଉପରେ ପ୍ରତିବନ୍ଧକ ଲଗାଇବା ପାଇଁ ଆପଣଙ୍କ ପାଖରେ ବିକଳ୍ପ ରହିବ। ପ୍ରତିବନ୍ଧିତ ଆପ୍ ଠିକ୍ ଭାବେ କାମ ନକରିପାରେ ଏବଂ ବିଜ୍ଞପ୍ତି ଆସିବାରେ ବିଳମ୍ୱ ହୋଇପାରେ।"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ଆପଣ ଅଧିକାଂଶ ସମୟରେ ବ୍ୟବହାର କରୁନଥିବା ଆପ୍ ପାଇଁ ବ୍ୟାଟେରୀ ବ୍ୟବହାରକୁ ସୀମିତ କରନ୍ତୁ"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"ଆପ୍‌ଗୁଡ଼ିକ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରୁଥିବା ବିଷୟରେ ଯେତେବେଳେ ବ୍ୟାଟେରୀ ମ୍ୟାନେଜର୍ ଠାବ କରେ, ସେତେବେଳେ ଏହିସବୁ ଆପ୍ ଉପରେ ପ୍ରତିବନ୍ଧକ ଲଗାଇବା ପାଇଁ ଆପଣଙ୍କ ପାଖରେ ବିକଳ୍ପ ରହିବ। ପ୍ରତିବନ୍ଧିତ ଆପ୍ ଠିକ୍ ଭାବେ କାମ ନକରିପାରେ ଏବଂ ବିଜ୍ଞପ୍ତି ଆସିବାରେ ବିଳମ୍ୱ ହୋଇପାରେ।"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"ବାଧାଯୁକ୍ତ ଆପ୍‌"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$dଟି ଆପ୍ ପାଇଁ ବ୍ୟାଟେରୀର ବ୍ୟବହାରକୁ ସୀମିତ କରାଯାଉଛି</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ଏହିସବୁ ଆପ୍ ଦ୍ୱାରା ବ୍ୟାକଗ୍ରାଉଣ୍ଡରେ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରାଯାଉଛି। ଅବରୋଧ କରାଯାଇଥିବା ଆପ୍ ଠିକ୍ ଭାବେ କାମ ନକରିପାରେ ଏବଂ ବିଜ୍ଞପ୍ତି ମିଳିବାରେ ଡେରି ହୋ‌ଇପାରେ।"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"ବ୍ୟାଟେରୀ ମ୍ୟାନେଜର୍‌ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"କେତେବେଳେ ଆପ୍ ବ୍ୟାଟେରୀ ଖର୍ଚ୍ଚ କରୁଛି, ତାହା ଠାବ କରନ୍ତୁ"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ଅନ୍ ଅଛି / କେତେବେଳେ ଆପ୍‌ଗୁଡ଼ିକ ବ୍ୟାଟେରୀ ସାରୁଛନ୍ତି, ତାହା ଠାବ କରାଯାଉଛି"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ଅନ୍ ଅଛି / କେତେବେଳେ ଆପ୍‌ଗୁଡ଼ିକ ବ୍ୟାଟେରୀ ସାରୁଛନ୍ତି, ତାହା ଠାବ କରାଯାଉଛି"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ଅଫ ଅଛି"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$dଟି ଆପ୍‌କୁ ଅବରୋଧ କରାଯାଇଛି</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ଏହି ଉପଯୋଗକର୍ତ୍ତାଙ୍କର ତଥ୍ୟ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN ଏବଂ ଆପସ୍‌ ପାଇଁ ସଂସ୍ଥାପିତ"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"ୱାଇ-ଫାଇ ପାଇଁ ଇନ୍‌ଷ୍ଟଲ୍‌ ହୋଇଛି"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ଆପ୍ ଇନ୍‌ଷ୍ଟଲ୍ ସୋର୍ସ ଯାଞ୍ଚକରଣ ପାଇଁ ଇନ୍‌ଷ୍ଟଲ୍ କରାଯାଇଛି"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"ସବୁକିଛି ହଟାଇଦେବେ?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ଆପ୍ ସୋର୍ସ ସାର୍ଟିଫିକେଟ୍"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ନିଜ ଦାୟିତ୍ୱରେ ଏହି ସାର୍ଟିଫିକେଟ୍ ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"ସେହି ଆପ୍ସ ଆପଣଙ୍କ ଡିଭାଇସ୍ ପାଇଁ ସୁରକ୍ଷିତ କି ନୁହେଁ, ତାହା ଆପ୍ ସୋର୍ସ ସାର୍ଟିଫିକେଟ୍‌ଗୁଡ଼ିକ ଯାଞ୍ଚ କରେ। ଆପଣ ବିଶ୍ୱାସ କରୁଥିବା ସଂସ୍ଥାଗୁଡ଼ିକରୁ କେବଳ ସାର୍ଟିଫିକେଟ୍‌ଗୁଡ଼ିକ ଇନ୍‌ଷ୍ଟଲ୍ କରନ୍ତୁ।"</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ଜଣେ ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ସର୍ଟିଫିକେଟ୍‌"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ଗୋଟିଏ CA ସର୍ଟିଫିକେଟ୍‌"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA ସର୍ଟିଫିକେଟ୍‌"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ଗୋଟିଏ ଆପ୍ ସୋର୍ସ ସାର୍ଟିଫିକେଟ୍ ଇନ୍‌ଷ୍ଟଲ୍ କରାଯାଇଛି"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ତଥ୍ୟ ବିବରଣୀ"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ଅପସାରଣ ହୋଇଥିବା କ୍ରେଡେନ୍‌ଶିଆଲ୍‌: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"ୟୁଜର୍‌ଙ୍କର କୌଣସି ତଥ୍ୟ ଇନଷ୍ଟଲ୍‌ ହୋଇନାହିଁ"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"ସାର୍ଟିଫିକେଟ୍ ବ୍ୟବହାର କରିବାକୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"ଏହି ଆପ୍ ସୋର୍ସ ସାର୍ଟିଫିକେଟ୍ ବ୍ୟବହାର କରିବାକୁ, ଆପଣଙ୍କୁ ଆପଣଙ୍କ ଡିଭାଇସ୍ ରିଷ୍ଟାର୍ଟ କରିବାକୁ ହେବ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"ଅନ୍‌ଇନ୍‌ଷ୍ଟଲ୍ ପ୍ରକ୍ରିୟା ଶେଷ କରିବାକୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"ଏହି ଆପ୍ ସୋର୍ସ ସାର୍ଟିଫିକେଟ୍ ଅନ୍‌ଇନ୍‌ଷ୍ଟଲ୍ କରିବାକୁ, ଆପଣଙ୍କୁ ଆପଣଙ୍କ ଡିଭାଇସ୍ ରିଷ୍ଟାର୍ଟ କରିବାକୁ ହେବ"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ଏବେ ନୁହେଁ"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"ବନାନ ଯାଞ୍ଚକାରୀ"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"କାର୍ଯ୍ୟ ପାଇଁ ବନାନ ଯାଞ୍ଚକାରୀ"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"ନିଜର ବର୍ତ୍ତମାନର ସମ୍ପୂର୍ଣ୍ଣ ବ୍ୟାକ୍‌ଅପ୍‌ ପାସ୍‌ୱର୍ଡକୁ ଏଠାରେ ଲେଖନ୍ତୁ"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,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>
@@ -3130,13 +3167,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>
@@ -3160,7 +3198,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>
@@ -3198,6 +3236,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>
@@ -3207,18 +3246,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>
@@ -3226,6 +3266,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>
@@ -3249,6 +3292,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>
@@ -3275,7 +3319,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>
@@ -3306,7 +3350,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>
@@ -3336,10 +3380,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>
@@ -3383,16 +3429,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>
@@ -3410,6 +3466,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>
@@ -3440,6 +3497,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"ନିରବରେ ଦେଖାଇବା ସହିତ ମିନିମାଇଜ୍ କରନ୍ତୁ"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ନିରବରେ ଦେଖାନ୍ତୁ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ଶବ୍ଦ କର"</string>
@@ -3458,7 +3521,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>
@@ -3479,6 +3542,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>
@@ -3540,8 +3604,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>
@@ -3595,6 +3661,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>
@@ -3608,15 +3678,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">
@@ -3659,6 +3734,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>
@@ -3743,8 +3819,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 +3830,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 +3842,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>
@@ -3913,8 +3993,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 +4163,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 +4228,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 +4320,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>
@@ -4405,20 +4490,24 @@
     <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="5389656885733341448">"ପ୍ରିରିଲିଜ୍ ଡ୍ରାଇଭର୍"</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_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) -->
+    <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>
@@ -4582,7 +4671,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 +4679,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 +4690,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>
@@ -4668,6 +4755,13 @@
     <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>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index 031a555..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"ਕੋਈ ਨਹੀਂ"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"ਕੋਈ ਨਹੀਂ"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"ਕੋਈ ਨਹੀਂ"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 7b0525d..41d7f19 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"ਦ੍ਰਿਸ਼ਟਤਾ ਦਾ ਸਮਾਂ ਸਮਾਪਤ"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">" ਲਾਕ  ਵੌਇਸ ਡਾਇਲਿੰਗ"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"ਜਦੋਂ ਸਕ੍ਰੀਨ  ਲਾਕ  ਕੀਤੀ ਹੋਵੇ ਤਾਂ bluetooth ਡਾਇਲਰ ਦੀ ਵਰਤੋਂ ਰੋਕੋ"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"ਬਲੂਟੁੱਥ ਡਿਵਾਈਸਾਂ"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ਡੀਵਾਈਸ ਦਾ ਨਾਮ"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"ਡੀਵਾਈਸ ਸੈਟਿੰਗਾਂ"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"ਪ੍ਰੋਫਾਈਲ ਸੈਟਿੰਗਾਂ"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ਹੌਟਸਪੌਟ ਚਾਲੂ ਹੈ"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ਟੈਦਰਿੰਗ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ਡਾਟਾ ਸੇਵਰ ਚਾਲੂ ਹੋਣ \'ਤੇ ਟੈਦਰ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ ਜਾਂ ਪੋਰਟੇਬਲ ਹੌਟਸਪੌਟ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕਦੀ"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"ਸਵੈ ਕਲਿੱਕ ਸਮਾਂ"</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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ਤੁਹਾਡੀਆਂ ਐਪਾਂ ਆਮ ਵਾਂਗ ਬੈਟਰੀ ਵਰਤ ਰਹੀਆਂ ਹਨ। ਐਪਾਂ ਵੱਲੋਂ ਭਾਰੀ ਮਾਤਰਾ ਵਿੱਚ ਬੈਟਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨ \'ਤੇ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਤੁਹਾਨੂੰ ਕਾਰਵਾਈਆਂ ਕਰਨ ਦੇ ਸੁਝਾਅ ਦੇਵੇਗਾ।\n\nਬੈਟਰੀ ਘੱਟ ਹੋਣ \'ਤੇ ਤੁਸੀਂ ਹਮੇਸ਼ਾਂ \'ਬੈਟਰੀ ਸੇਵਰ\' ਨੂੰ ਚਾਲੂ ਕਰ ਸਕਦੇ ਹੋ।"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ਬੈਟਰੀ ਪ੍ਰਬੰਧਕ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ਐਪਾਂ ਦਾ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ਉਹਨਾਂ ਐਪਾਂ ਲਈ ਬੈਟਰੀ ਵਰਤੋਂ ਸੀਮਤ ਕਰੋ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਅਕਸਰ ਨਹੀਂ ਵਰਤਦੇ"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"ਜਦੋਂ ਬੈਟਰੀ ਪ੍ਰਬੰਧਕ ਇਹ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ ਕਿ ਐਪਾਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤ ਰਹੀਆਂ ਹਨ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਇਹਨਾਂ ਐਪਾਂ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾਉਣ ਦਾ ਵਿਕਲਪ ਹੋਵੇਗਾ। ਸ਼ਾਇਦ ਪਾਬੰਦੀਸ਼ੁਦਾ ਐਪਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ ਅਤੇ ਸੂਚਨਾਵਾਂ ਵਿੱਚ ਦੇਰੀ ਹੋ ਸਕਦੀ ਹੈ।"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"ਜਦੋਂ ਬੈਟਰੀ ਪ੍ਰਬੰਧਕ ਇਹ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ ਕਿ ਐਪਾਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤ ਰਹੀਆਂ ਹਨ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਇਹਨਾਂ ਐਪਾਂ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾਉਣ ਦਾ ਵਿਕਲਪ ਹੋਵੇਗਾ। ਸ਼ਾਇਦ ਪਾਬੰਦੀਸ਼ੁਦਾ ਐਪਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ ਅਤੇ ਸੂਚਨਾਵਾਂ ਵਿੱਚ ਦੇਰੀ ਹੋ ਸਕਦੀ ਹੈ।"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"ਜਦੋਂ ਬੈਟਰੀ ਪ੍ਰਬੰਧਕ ਇਹ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ ਕਿ ਐਪਾਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤ ਰਹੀਆਂ ਹਨ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਇਹਨਾਂ ਐਪਾਂ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾਉਣ ਦਾ ਵਿਕਲਪ ਹੋਵੇਗਾ। ਸ਼ਾਇਦ ਪਾਬੰਦੀਸ਼ੁਦਾ ਐਪਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ ਅਤੇ ਸੂਚਨਾਵਾਂ ਵਿੱਚ ਦੇਰੀ ਹੋ ਸਕਦੀ ਹੈ।"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ਉਹਨਾਂ ਐਪਾਂ ਲਈ ਬੈਟਰੀ ਵਰਤੋਂ ਸੀਮਤ ਕਰੋ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਅਕਸਰ ਨਹੀਂ ਵਰਤਦੇ"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"ਜਦੋਂ ਬੈਟਰੀ ਪ੍ਰਬੰਧਕ ਇਹ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ ਕਿ ਐਪਾਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤ ਰਹੀਆਂ ਹਨ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਇਹਨਾਂ ਐਪਾਂ \'ਤੇ ਪਾਬੰਦੀ ਲਗਾਉਣ ਦਾ ਵਿਕਲਪ ਹੋਵੇਗਾ। ਸ਼ਾਇਦ ਪਾਬੰਦੀਸ਼ੁਦਾ ਐਪਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ ਅਤੇ ਸੂਚਨਾਵਾਂ ਵਿੱਚ ਦੇਰੀ ਹੋ ਸਕਦੀ ਹੈ।"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"ਪਾਬੰਦੀਸ਼ੁਦਾ ਐਪਾਂ"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">%1$d ਐਪ ਲਈ ਬੈਟਰੀ ਵਰਤੋਂ ਨੂੰ ਸੀਮਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ਇਹ ਐਪਾਂ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਬੈਟਰੀ ਦੀ ਵਰਤੋਂ ਕਰ ਰਹੀਆਂ ਹਨ। ਸ਼ਾਇਦ ਪਾਬੰਦੀਸ਼ੁਦਾ ਐਪਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ ਅਤੇ ਸੂਚਨਾਵਾਂ ਵਿੱਚ ਦੇਰੀ ਹੋ ਸਕਦੀ ਹੈ।"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"ਬੈਟਰੀ ਪ੍ਰਬੰਧਕ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"ਐਪਾਂ ਵੱਲੋਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੇ ਜਾਣ ਦਾ ਪਤਾ ਲਗਾਓ"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ਚਾਲੂ / ਐਪਾਂ ਵੱਲੋਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੇ ਜਾਣ ਦਾ ਪਤਾ ਲਗਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ਚਾਲੂ / ਐਪਾਂ ਵੱਲੋਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੇ ਜਾਣ ਦਾ ਪਤਾ ਲਗਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ਬੰਦ"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d ਐਪ ਪ੍ਰਤੀਬੰਧਿਤ</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ਇਸ ਵਰਤੋਂਕਾਰ ਲਈ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਉਪਲਬਧ ਨਹੀਂ ਹਨ"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN ਅਤੇ ਐਪਾਂ ਲਈ ਸਥਾਪਤ ਕੀਤਾ ਗਿਆ"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"ਵਾਈ-ਫਾਈ ਲਈ ਸਥਾਪਤ ਕੀਤਾ ਗਿਆ"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ਐਪ ਸਥਾਪਨਾ ਸਰੋਤ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਸਥਾਪਤ ਕੀਤਾ ਗਿਆ"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"ਕੀ ਸਾਰੀਆਂ ਸਮੱਗਰੀਆਂ ਹਟਾਉਣੀਆਂ ਹਨ?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ਐਪ ਸਰੋਤ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ਆਪਣੇ ਜੋਖਮ \'ਤੇ ਇਹ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਥਾਪਤ ਕਰੋ"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"ਐਪ ਸਰੋਤ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਪੁਸ਼ਟੀ ਕਰਦੇ ਹਨ ਕਿ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਲਈ ਐਪਾਂ ਸੁਰੱਖਿਅਤ ਹਨ। ਸਿਰਫ਼ ਭਰੋਸੇਯੋਗ ਸੰਸਥਾਵਾਂ ਦੇ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਸਥਾਪਤ ਕਰੋ।"</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ਇੱਕ ਵਰਤੋਂਕਾਰ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ਇੱਕ CA ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA ਸਰਟੀਫਿਕੇਟ"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ਇੱਕ ਐਪ ਸਰੋਤ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਵੇਰਵੇ"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ਹਟਾਇਆ ਗਿਆ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"ਕੋਈ ਵਰਤੋਂਕਾਰ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ ਸਥਾਪਤ ਨਹੀਂ ਹਨ"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"ਪ੍ਰਮਾਣ-ਪੱਤਰ ਵਰਤਣ ਲਈ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"ਇਸ ਐਪ ਸਰੋਤ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨੂੰ ਵਰਤਣ ਲਈ, ਤੁਹਾਨੂੰ ਆਪਣਾ ਡੀਵਾਈਸ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"ਅਣਸਥਾਪਤ ਪੂਰਾ ਕਰਨ ਲਈ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"ਇਸ ਐਪ ਸਰੋਤ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਨੂੰ ਅਣਸਥਾਪਤ ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ ਆਪਣਾ ਡੀਵਾਈਸ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨ ਦੀ ਲੋੜ ਹੈ"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ਹਾਲੇ ਨਹੀਂ"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"ਸਪੈੱਲ ਚੈਕਰ"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਲਈ ਸ਼ਬਦ-ਜੋੜ ਜਾਂਚ"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"ਆਪਣਾ ਮੌਜੂਦਾ ਪੂਰਾ ਬੈਕਅੱਪ ਪਾਸਵਰਡ ਇੱਥੇ ਟਾਈਪ ਕਰੋ"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,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>
@@ -3130,13 +3167,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>
@@ -3160,7 +3198,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>
@@ -3198,6 +3236,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>
@@ -3207,18 +3246,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>
@@ -3226,6 +3266,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>
@@ -3249,6 +3292,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>
@@ -3275,7 +3319,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>
@@ -3306,7 +3350,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>
@@ -3336,10 +3380,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>
@@ -3383,16 +3429,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>
@@ -3410,6 +3466,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>
@@ -3440,6 +3497,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"ਚੁੱਪ-ਚਪੀਤੇ ਅਤੇ ਛੋਟਾ ਕਰਕੇ ਦਿਖਾਓ"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ਚੁੱਪਚਾਪ  ਦਿਖਾਓ"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ਧੁਨੀ ਵਜਾਓ"</string>
@@ -3458,7 +3521,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>
@@ -3479,6 +3542,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>
@@ -3540,8 +3604,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>
@@ -3595,6 +3661,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>
@@ -3608,15 +3678,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">
@@ -3659,6 +3734,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>
@@ -3743,8 +3819,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 +3830,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 +3842,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>
@@ -3913,8 +3993,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 +4163,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>
@@ -4143,14 +4228,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>
@@ -4239,8 +4320,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>
@@ -4405,20 +4490,24 @@
     <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="5389656885733341448">"ਪੂਰਵ-ਰਿਲੀਜ਼ ਡਰਾਈਵਰ"</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_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) -->
+    <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>
@@ -4582,7 +4671,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 +4679,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>
@@ -4605,6 +4690,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>
@@ -4668,6 +4755,13 @@
     <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>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index ea72dca..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Brak"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Brak"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Brak"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 6893db3..171b780 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>
@@ -101,7 +68,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Czas widoczności"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Zablokuj wybieranie głosowe"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Zapobiegaj używaniu wybierania Bluetooth, gdy ekran jest zablokowany"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Lista urządzeń"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nazwa urządzenia"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Ustawienia urządzenia"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Ustawienia profilu"</string>
@@ -176,9 +142,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 +177,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 +219,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 +237,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 +244,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 +287,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 +318,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>
@@ -481,7 +403,7 @@
     <string name="security_settings_fingerprint_enroll_introduction_cancel_setup" msgid="370010932190960403">"Pomiń"</string>
     <string name="security_settings_fingerprint_enroll_introduction_continue_setup" msgid="7155412679784724630">"Dalej"</string>
     <string name="setup_fingerprint_enroll_skip_title" msgid="2473807887676247264">"Pominąć odcisk palca?"</string>
-    <string name="setup_fingerprint_enroll_skip_after_adding_lock_text" msgid="2412645723804450304">"Zapisanie odcisku palca zajmuje tylko chwilę. Zawsze możesz go dodać później w ustawieniach."</string>
+    <string name="setup_fingerprint_enroll_skip_after_adding_lock_text" msgid="2412645723804450304">"Zapisanie odcisku palca zajmuje tylko chwilę. Zawsze możesz go dodać później w ustawieniach."</string>
     <string name="lock_screen_intro_skip_title" msgid="342553937472568925">"Pominąć blokadę ekranu?"</string>
     <string name="lock_screen_intro_skip_dialog_text_frp" product="tablet" msgid="1570832293693405757">"Zabezpieczenia urządzenia nie zostaną włączone. Nie będzie można zablokować tego tabletu, gdy zostanie zgubiony, skradziony lub zresetowany."</string>
     <string name="lock_screen_intro_skip_dialog_text_frp" product="device" msgid="4618501606519351904">"Zabezpieczenia urządzenia nie zostaną włączone. Nie będzie można zablokować tego urządzenia, gdy zostanie zgubione, skradzione lub zresetowane."</string>
@@ -709,7 +631,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 +673,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>
@@ -872,16 +799,19 @@
     <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 +885,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 +896,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 +904,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>
@@ -998,12 +930,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 +950,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 +970,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 +1028,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 +1081,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 +1090,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 +1127,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 +1263,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 +1286,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 +1377,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 +1404,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 +1617,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 +1667,9 @@
     <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="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 +1762,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 +1770,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>
@@ -1941,7 +1905,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 +2105,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 +2113,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 +2182,41 @@
     <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="2370077188725433271">"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_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 +2230,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>
@@ -2464,10 +2482,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikacje zużywają normalną ilość energii. Jeśli będą zużywały jej za dużo, urządzenie zasugeruje działania, które będzie można podjąć.\n\nZawsze możesz włączyć Oszczędzanie baterii, gdy spadnie poziom jej naładowania."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Menedżer baterii"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatycznie zarządzaj aplikacjami"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Ogranicz zużycie energii przez aplikacje, z których rzadko korzystasz"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Gdy Menedżer baterii wykryje, że aplikacje szybko rozładowują baterię, możesz wprowadzić ograniczenia. Aplikacje z ograniczeniami mogą nie działać prawidłowo, a powiadomienia mogą być opóźnione."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Gdy Menedżer baterii wykryje, że aplikacje szybko rozładowują baterię, możesz wprowadzić ograniczenia. Aplikacje z ograniczeniami mogą nie działać prawidłowo, a powiadomienia mogą być opóźnione."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Gdy Menedżer baterii wykryje, że aplikacje szybko rozładowują baterię, możesz wprowadzić ograniczenia. Aplikacje z ograniczeniami mogą nie działać prawidłowo, a powiadomienia mogą być opóźnione."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Ogranicz zużycie energii przez aplikacje, z których rzadko korzystasz"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Gdy Menedżer baterii wykryje, że aplikacje szybko rozładowują baterię, możesz wprowadzić ograniczenia. Aplikacje z ograniczeniami mogą nie działać prawidłowo, a powiadomienia mogą być opóźnione."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Aplikacje z ograniczeniami"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="few">Ograniczam zużycie baterii przez %1$d aplikacje</item>
@@ -2479,7 +2495,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Te aplikacje zużywają baterię w tle. Aplikacje z ograniczeniami mogą nie działać prawidłowo, a powiadomienia mogą być opóźnione."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Użyj Menedżera baterii"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Wykrywaj, gdy aplikacje szybko rozładowują baterię"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Włączony / wykrywa, gdy aplikacje szybko rozładowują baterię"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Włączony / wykrywa, gdy aplikacje szybko rozładowują baterię"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Wył."</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="few">Dla %1$d aplikacji wprowadzono ograniczenia</item>
@@ -2589,7 +2605,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>
@@ -2670,8 +2685,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>
@@ -2687,10 +2701,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Ten użytkownik nie ma dostępu do poświadczeń"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Zainstalowane dla VPN i aplikacji"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Zainstalowane dla Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Zainstalowano dla sprawdzenia źródła aplikacji przy instalacji"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Usunąć całą zawartość?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certyfikat źródła aplikacji"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Pobierasz ten certyfikat na własne ryzyko"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Certyfikaty źródła aplikacji służą do sprawdzania, czy aplikacje są bezpieczne dla urządzenia. Instaluj tylko certyfikaty organizacji, którym ufasz."</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>
@@ -2718,10 +2744,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>
@@ -2735,6 +2757,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>
@@ -2967,9 +2999,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"jeden certyfikat użytkownika"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"jeden certyfikat CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"Certyfikaty CA %d"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"jeden certyfikat źródła aplikacji"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Dane logowania – szczegóły"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Usunięte dane logowania: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nie zainstalowano danych logowania użytkownika"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Uruchom ponownie, aby korzystać z certyfikatu"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Aby zacząć korzystać z tego certyfikatu źródła aplikacji, ponownie uruchom urządzenie"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Uruchom ponownie, aby odinstalować"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Aby odinstalować ten certyfikat źródła aplikacji, ponownie uruchom urządzenie"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Uruchom ponownie"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Nie teraz"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Sprawdzanie pisowni"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Sprawdzanie pisowni w czasie pracy"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Wpisz tutaj bieżące hasło pełnej kopii zapasowej."</string>
@@ -3092,7 +3131,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>
@@ -3161,7 +3199,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>
@@ -3171,6 +3208,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>
@@ -3184,7 +3222,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>
@@ -3204,6 +3241,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>
@@ -3214,13 +3252,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>
@@ -3244,7 +3283,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>
@@ -3282,6 +3321,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>
@@ -3291,18 +3331,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>
@@ -3310,6 +3351,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>
@@ -3335,6 +3379,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>
@@ -3361,7 +3406,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>
@@ -3392,7 +3437,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>
@@ -3426,10 +3471,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>
@@ -3473,16 +3520,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>
@@ -3500,6 +3557,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>
@@ -3530,6 +3588,12 @@
     <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="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>
@@ -3548,7 +3612,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>
@@ -3575,6 +3639,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>
@@ -3642,8 +3707,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>
@@ -3699,6 +3766,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>
@@ -3712,15 +3783,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">
@@ -3769,6 +3845,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>
@@ -3861,8 +3938,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>
@@ -3874,6 +3949,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>
@@ -3887,9 +3963,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>
@@ -4039,8 +4122,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>
@@ -4216,6 +4302,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>
@@ -4281,14 +4369,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>
@@ -4385,8 +4469,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>
@@ -4565,20 +4653,24 @@
     <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="5389656885733341448">"Sterownik przedpremierowy"</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_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) -->
+    <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>
@@ -4744,7 +4836,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>
@@ -4753,13 +4844,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>
@@ -4769,6 +4855,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>
@@ -4838,6 +4926,13 @@
     <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>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index 9a99a52..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Nenhum"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Nenhum"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"Chip"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Nenhum"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 9192888..d186ded 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Tempo limite de visibilidade"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloquear discagem por voz"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Impedir o uso do discador Bluetooth quando a tela estiver bloqueada."</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Dispositivos Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nome do dispositivo"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Configurações do dispositivo"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Configurações do perfil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Seus apps estão consumindo uma quantidade normal de bateria. Se o consumo for excessivo, algumas ações serão sugeridas no dispositivo.\n\nSe a bateria estiver acabando, você poderá ativar o recurso Economia de bateria."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gerenciador de bateria"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gerenciar apps automaticamente"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limita o uso da bateria para os apps que você não usa com frequência"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Quando o Gerenciador de bateria detectar que apps estão descarregando a bateria, você terá a opção de restringi-los. Apps com restrição podem não funcionar corretamente e é possível que as notificações atrasem."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Quando o Gerenciador de bateria detectar que apps estão descarregando a bateria, você terá a opção de restringi-los. Apps com restrição podem não funcionar corretamente e é possível que as notificações atrasem."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Quando o Gerenciador de bateria detectar que apps estão descarregando a bateria, você terá a opção de restringi-los. Apps com restrição podem não funcionar corretamente e é possível que as notificações atrasem."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limita o uso da bateria para os apps que você não usa com frequência"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Quando o Gerenciador de bateria detectar que apps estão descarregando a bateria, você terá a opção de restringi-los. Apps com restrição podem não funcionar corretamente e é possível que as notificações atrasem."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Apps restritos"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Limitando o uso da bateria para %1$d app</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Esses apps estão usando a bateria em segundo plano. Os apps com restrição podem não funcionar corretamente, e é possível que as notificações sejam entregues com atraso."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Usar o Gerenciador de bateria"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detectar quando apps estiverem descarregando a bateria"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Ativado / Detectar quando apps estiverem descarregando a bateria"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Ativado / Detectar quando apps estiverem descarregando a bateria"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Desativado"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d app restrito</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"As credenciais não estão disponíveis para este usuário"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalada para VPN e apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalada para Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instalada para verificação de origem de instalação de apps"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Remover todo o conteúdo?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificado de origem do app"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instale esse certificado por sua conta e risco"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Os certificados de origem do app confirmam que os apps são seguros para seu dispositivo. Instale apenas os certificados de organizações em que você confia."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"um certificado de usuário"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"um certificado CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d certificados CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"um certificado de origem do app"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detalhes de credenciais"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Credencial removida: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nenhuma credencial de usuário instalada"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Reinicie para usar certificado"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Para usar esse certificado de origem do app, é necessário reiniciar seu dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Reinicie para concluir a instalação"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Para desinstalar esse certificado de origem do app, é necessário reiniciar o dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Reiniciar"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Agora não"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Corretor ortográfico"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Corretor ortográfico para o trabalho"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Digite sua senha de backup completo atual aqui"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Driver de pré-lançamento"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index fcb8174..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Nenhum"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Nenhum"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Nenhum"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 be8ed8a..e128245 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Tempo limite de visibilidade"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloquear marcação por voz"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Evitar a utilização do telefone Bluetooth quando o ecrã está bloqueado"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Dispositivos Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nome do dispositivo"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Definições do dispositivo"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Definições do perfil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"As suas aplicações estão a utilizar uma quantidade de bateria normal. Se as aplicações utilizarem demasiada bateria, o dispositivo sugere ações que pode realizar.\n\nPode sempre ativar a Poupança de bateria se estiver a ficar sem bateria."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gerir aplicações automaticamente"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limitar a bateria para as aplicações que não utiliza frequentemente"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Quando o Battery Manager deteta a existência de aplicações a consumir a bateria rapidamente, tem a opção de restringir estas aplicações. As aplicações restringidas poderão não funcionar corretamente e as notificações poderão sofrer atrasos."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Quando o Battery Manager deteta a existência de aplicações a consumir a bateria rapidamente, tem a opção de restringir estas aplicações. As aplicações restringidas poderão não funcionar corretamente e as notificações poderão sofrer atrasos."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Quando o Battery Manager deteta a existência de aplicações a consumir a bateria rapidamente, tem a opção de restringir estas aplicações. As aplicações restringidas poderão não funcionar corretamente e as notificações poderão sofrer atrasos."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limitar a bateria para as aplicações que não utiliza frequentemente"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Quando o Battery Manager deteta a existência de aplicações a consumir a bateria rapidamente, tem a opção de restringir estas aplicações. As aplicações restringidas poderão não funcionar corretamente e as notificações poderão sofrer atrasos."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Aplicações restritas"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Limiar a utilização da bateria para %1$d aplicações</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Estas aplicações têm consumido bateria em segundo plano. As aplicações restringidas poderão não funcionar corretamente e as notificações poderão sofrer atrasos."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Utilizar o Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detetar quando as aplicações consomem rapidamente a bateria"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Ativado / A detetar quando as aplicações consomem rapidamente a bateria"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Ativado / A detetar quando as aplicações consomem rapidamente a bateria"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Desativado"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d aplicações restritas</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"As credenciais não estão disponíveis para este utilizador"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalada para VPN e aplicações"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalada para Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instalado para validação da origem de instalação da aplicação."</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Pretende remover todo o conteúdo?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certif. de origem da aplicação"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instale este certificado por sua conta e risco"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Os certificados de origem de aplicações validam se as aplicações são seguras para o dispositivo. Instale apenas certificados de entidades em que confia."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"um certificado do utilizador"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"um certificado da AC"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d certificados da AC"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"um certificado de origem da aplicação"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detalhes das credenciais"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Credencial removida: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Sem credenciais de utilizador instaladas"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Reinicie para utilizar o certificado"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Para utilizar este certificado de origem da aplicação, tem de reiniciar o dispositivo."</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Reinicie para concluir a desinstalação"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Para desinstalar este certificado de origem da aplicação, tem de reiniciar o dispositivo."</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Reiniciar"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Agora não"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Corretor ortográfico"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Corretor ortográfico para o trabalho"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Introduza a palavra-passe de cópia de segurança completa atual aqui"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Controlador de pré-lançamento"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index 9a99a52..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Nenhum"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Nenhum"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"Chip"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Nenhum"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 9192888..d186ded 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Tempo limite de visibilidade"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Bloquear discagem por voz"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Impedir o uso do discador Bluetooth quando a tela estiver bloqueada."</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Dispositivos Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nome do dispositivo"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Configurações do dispositivo"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Configurações do perfil"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Seus apps estão consumindo uma quantidade normal de bateria. Se o consumo for excessivo, algumas ações serão sugeridas no dispositivo.\n\nSe a bateria estiver acabando, você poderá ativar o recurso Economia de bateria."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gerenciador de bateria"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gerenciar apps automaticamente"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limita o uso da bateria para os apps que você não usa com frequência"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Quando o Gerenciador de bateria detectar que apps estão descarregando a bateria, você terá a opção de restringi-los. Apps com restrição podem não funcionar corretamente e é possível que as notificações atrasem."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Quando o Gerenciador de bateria detectar que apps estão descarregando a bateria, você terá a opção de restringi-los. Apps com restrição podem não funcionar corretamente e é possível que as notificações atrasem."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Quando o Gerenciador de bateria detectar que apps estão descarregando a bateria, você terá a opção de restringi-los. Apps com restrição podem não funcionar corretamente e é possível que as notificações atrasem."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limita o uso da bateria para os apps que você não usa com frequência"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Quando o Gerenciador de bateria detectar que apps estão descarregando a bateria, você terá a opção de restringi-los. Apps com restrição podem não funcionar corretamente e é possível que as notificações atrasem."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Apps restritos"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Limitando o uso da bateria para %1$d app</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Esses apps estão usando a bateria em segundo plano. Os apps com restrição podem não funcionar corretamente, e é possível que as notificações sejam entregues com atraso."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Usar o Gerenciador de bateria"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detectar quando apps estiverem descarregando a bateria"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Ativado / Detectar quando apps estiverem descarregando a bateria"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Ativado / Detectar quando apps estiverem descarregando a bateria"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Desativado"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d app restrito</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"As credenciais não estão disponíveis para este usuário"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalada para VPN e apps"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalada para Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instalada para verificação de origem de instalação de apps"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Remover todo o conteúdo?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificado de origem do app"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instale esse certificado por sua conta e risco"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Os certificados de origem do app confirmam que os apps são seguros para seu dispositivo. Instale apenas os certificados de organizações em que você confia."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"um certificado de usuário"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"um certificado CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d certificados CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"um certificado de origem do app"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detalhes de credenciais"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Credencial removida: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nenhuma credencial de usuário instalada"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Reinicie para usar certificado"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Para usar esse certificado de origem do app, é necessário reiniciar seu dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Reinicie para concluir a instalação"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Para desinstalar esse certificado de origem do app, é necessário reiniciar o dispositivo"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Reiniciar"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Agora não"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Corretor ortográfico"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Corretor ortográfico para o trabalho"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Digite sua senha de backup completo atual aqui"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Driver de pré-lançamento"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index f384ca5..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Niciuna"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Niciuna"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Niciunul"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 335d2b2..76d0688 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>
@@ -100,7 +67,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Timp limită pentru vizibilitate"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Blocați apelarea vocală"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Împiedicați apelarea prin Bluetooth când este blocat ecranul"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Dispozitive Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Nume dispozitiv"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Setări dispozitiv"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Setări pentru profil"</string>
@@ -175,9 +141,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 +176,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 +217,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 +235,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 +242,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 +285,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 +315,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 +623,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 +659,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>
@@ -856,16 +782,19 @@
     <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 +868,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 +879,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 +887,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>
@@ -982,12 +913,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 +933,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 +953,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 +1008,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 +1061,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 +1070,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 +1107,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 +1243,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 +1266,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 +1356,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 +1383,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 +1596,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 +1646,9 @@
     <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="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 +1740,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 +1748,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>
@@ -1919,7 +1882,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 +2082,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 +2090,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 +2159,41 @@
     <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="2370077188725433271">"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_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 +2206,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>
@@ -2429,10 +2445,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplicațiile consumă un procent normal de baterie. Dacă aplicațiile consumă prea multă baterie, dispozitivul va sugera acțiuni posibile.\n\nPuteți oricând să activați Economisirea bateriei dacă aceasta se descarcă."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gestionați automat aplicațiile"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limitați utilizarea bateriei de către aplicațiile pe care nu le utilizați frecvent"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Când Battery Manager detectează că aplicațiile consumă bateria, puteți să restricționați respectivele aplicații. Este posibil ca aplicațiile restricționate să nu funcționeze corespunzător și ca notificările să fie primite cu întârziere."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Când Battery Manager detectează că aplicațiile consumă bateria, puteți să restricționați respectivele aplicații. Este posibil ca aplicațiile restricționate să nu funcționeze corespunzător și ca notificările să fie primite cu întârziere."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Când Battery Manager detectează că aplicațiile consumă bateria, puteți să restricționați respectivele aplicații. Este posibil ca aplicațiile restricționate să nu funcționeze corespunzător și ca notificările să fie primite cu întârziere."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limitați utilizarea bateriei de către aplicațiile pe care nu le utilizați frecvent"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Când Battery Manager detectează că aplicațiile consumă bateria, puteți să restricționați respectivele aplicații. Este posibil ca aplicațiile restricționate să nu funcționeze corespunzător și ca notificările să fie primite cu întârziere."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Aplicații restricționate"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="few">Se limitează utilizarea bateriei pentru %1$d aplicații</item>
@@ -2443,7 +2457,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Aceste aplicații folosesc bateria în fundal. Este posibil ca aplicațiile restricționate să nu funcționeze corespunzător și ca notificările să fie primite cu întârziere."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Utilizați Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Detectați când aplicațiile consumă bateria"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Activat / Se detectează când aplicațiile consumă bateria"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Activat / Se detectează când aplicațiile consumă bateria"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Dezactivat"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="few">%1$d aplicații restricționate</item>
@@ -2552,7 +2566,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>
@@ -2633,8 +2646,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>
@@ -2650,10 +2662,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Datele de conectare nu sunt disponibile pentru acest utilizator"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instalate pentru VPN și aplicații"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instalate pentru Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instalat pentru verificarea sursei de instalare a aplicației"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Eliminați întregul conținut?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificat sursă aplicație"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instalați certificatul pe propriul risc"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Certificatele pentru sursa aplicației confirmă faptul că aplicațiile sunt sigure pentru dispozitiv. Instalați certificate numai de la organizații în care aveți încredere."</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>
@@ -2681,10 +2705,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>
@@ -2698,6 +2718,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>
@@ -2930,9 +2959,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"un certificat de utilizator"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"un certificat CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d   certificate CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"un certificat pentru sursa aplicației"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detalii privind datele de conectare"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Date de conectare eliminate: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nu s-au instalat date de conectare ale utilizatorului"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Reporniți pentru a folosi certificatul"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Ca să folosiți acest certificat pentru sursa aplicației, trebuie să reporniți dispozitivul"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Reporniți pentru a finaliza dezinstalarea"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Ca să dezinstalați acest certificat pentru sursa aplicației, trebuie să reporniți dispozitivul"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Reporniți"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Nu acum"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Verificator ortografic"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Verificator ortografic pentru serviciu"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Introduceți aici parola actuală pentru backupul complet"</string>
@@ -3051,7 +3087,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>
@@ -3120,7 +3155,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>
@@ -3130,6 +3164,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>
@@ -3143,7 +3178,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>
@@ -3162,6 +3196,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>
@@ -3172,13 +3207,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>
@@ -3202,7 +3238,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>
@@ -3240,6 +3276,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>
@@ -3249,18 +3286,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>
@@ -3268,6 +3306,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>
@@ -3292,6 +3333,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>
@@ -3318,7 +3360,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>
@@ -3349,7 +3391,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>
@@ -3381,10 +3423,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>
@@ -3428,16 +3472,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>
@@ -3455,6 +3509,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>
@@ -3485,6 +3540,12 @@
     <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="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>
@@ -3503,7 +3564,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>
@@ -3527,6 +3588,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>
@@ -3591,8 +3653,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>
@@ -3647,6 +3711,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>
@@ -3660,15 +3728,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">
@@ -3714,6 +3787,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>
@@ -3802,8 +3876,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>
@@ -3815,6 +3887,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>
@@ -3827,9 +3900,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>
@@ -3976,8 +4055,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>
@@ -4148,6 +4230,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>
@@ -4212,14 +4296,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>
@@ -4312,8 +4392,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>
@@ -4485,20 +4569,24 @@
     <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="5389656885733341448">"Driver dinaintea lansării"</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_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) -->
+    <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>
@@ -4663,7 +4751,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>
@@ -4672,12 +4759,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>
@@ -4687,6 +4770,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>
@@ -4753,6 +4838,13 @@
     <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>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index ecaebe7..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Нет"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Нет"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Нет"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 280c7cb..b4bd27d 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>
@@ -101,7 +68,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Тайм-аут видимости"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Заблокировать голосовой набор"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Предотвратить использование телефона Bluetooth, когда экран заблокирован"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Устройства Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Имя устройства"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Настройки устройства"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Настройки профиля"</string>
@@ -176,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>
@@ -211,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">"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 +219,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 +237,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 +244,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 +287,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 +318,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 +631,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 +673,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>
@@ -872,16 +799,19 @@
     <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 +885,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 +896,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 +904,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>
@@ -998,12 +930,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 +950,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 +970,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 +1028,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 +1081,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 +1090,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 +1127,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 +1263,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 +1286,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 +1377,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 +1404,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 +1617,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 +1667,9 @@
     <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="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 +1762,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 +1770,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>
@@ -1941,7 +1905,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 +2105,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 +2113,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 +2182,41 @@
     <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="2370077188725433271">"Время автонажатия"</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_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 +2230,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>
@@ -2464,10 +2482,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Ваши приложения расходуют заряд батареи нормально. При повышенном расходе вы получите рекомендации о том, что можно предпринять.\n\nЕсли заряд батареи будет на исходе, вы можете включить режим энергосбережения."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Автоматическое управление приложениями"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Ограничить работу редко используемых приложений"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Battery Manager определяет, какие приложения быстрее всего расходуют заряд батареи, и предлагает ограничить их работу. Ограничение фоновых процессов может привести к нарушениям функциональности приложений и задержке поступающих от них уведомлений."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Battery Manager определяет, какие приложения быстрее всего расходуют заряд батареи, и предлагает ограничить их работу. Ограничение фоновых процессов может привести к нарушениям функциональности приложений и задержке поступающих от них уведомлений."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Battery Manager определяет, какие приложения быстрее всего расходуют заряд батареи, и предлагает ограничить их работу. Ограничение фоновых процессов может привести к нарушениям функциональности приложений и задержке поступающих от них уведомлений."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Ограничить работу редко используемых приложений"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Battery Manager определяет, какие приложения быстрее всего расходуют заряд батареи, и предлагает ограничить их работу. Ограничение фоновых процессов может привести к нарушениям функциональности приложений и задержке поступающих от них уведомлений."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Приложения с ограниченным доступом"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Потребление энергии ограничено для %1$d приложения</item>
@@ -2479,7 +2495,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Эти приложения используют батарею в фоновом режиме. Ограничение может снизить их функциональность и вызвать задержку уведомлений."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Использовать Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Выявлять приложения, быстро расходующие заряд батареи"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Включена функция выявления приложений, быстро расходующих заряд батареи"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Включена функция выявления приложений, быстро расходующих заряд батареи"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Отключено"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d приложение с ограниченным доступом</item>
@@ -2589,7 +2605,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>
@@ -2670,8 +2685,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>
@@ -2687,10 +2701,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Этот пользователь не может изменять учетные данные"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Установлено для VPN и приложений"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Установлено для Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Установлено для проверки источника установки приложения"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Удалить все содержимое?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Сертификат источника приложения"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Безопасность сертификата не гарантируется"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Сертификаты источников приложений подтверждают, что приложения безопасны для вашего устройства. Устанавливайте сертификаты только тех организаций, которым вы доверяете."</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>
@@ -2718,10 +2744,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>
@@ -2735,6 +2757,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>
@@ -2967,9 +2999,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"один сертификат пользователя"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"один сертификат ЦС"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"Сертификатов ЦС: %d"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"один сертификат источника приложения"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Учетные данные"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Удаленные учетные данные: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Нет установленных учетных данных пользователя"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Требуется перезапуск"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Чтобы использовать этот сертификат источника приложения, перезапустите устройство."</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Требуется перезапуск"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Чтобы удалить этот сертификат источника приложения, перезапустите устройство."</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Перезапустить"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Не сейчас"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Проверка правописания"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Настройки проверки правописания для работы"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Введите текущий пароль"</string>
@@ -3092,7 +3131,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>
@@ -3161,7 +3199,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>
@@ -3171,6 +3208,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 +3222,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>
@@ -3204,6 +3241,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 +3252,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>
@@ -3244,7 +3283,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>
@@ -3282,6 +3321,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 +3331,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 +3351,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 +3379,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>
@@ -3361,7 +3406,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 +3437,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 +3471,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>
@@ -3473,16 +3520,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 +3557,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 +3588,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Без звука, компактный формат"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Без звука"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Звук"</string>
@@ -3548,7 +3612,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>
@@ -3575,6 +3639,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 +3707,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 +3766,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>
@@ -3712,15 +3783,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 +3845,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>
@@ -3861,8 +3938,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 +3949,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 +3963,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>
@@ -4039,8 +4122,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 +4302,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>
@@ -4281,14 +4369,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 +4469,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>
@@ -4565,20 +4653,24 @@
     <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="5389656885733341448">"Предварительная версия драйвера"</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_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) -->
+    <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>
@@ -4744,7 +4836,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>
@@ -4753,13 +4844,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>
@@ -4769,6 +4855,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>
@@ -4838,6 +4926,13 @@
     <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>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index 37b33f9..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"කිසිවක් නැත"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"කිසිවක් නැත"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"කිසිවක් නැත"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 7560eb9..651ca4e 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"දෘශ්‍යතා කල් ඉකුත්වීම"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"වාචික ඩයල් කිරීම වළක්වන්න"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"තිරය වසා ඇතිවිට බ්ලුටූත් ඩයල් පාවිට්චිය නවත්වන්න"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"බ්ලූටූත් උපාංග"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"උපාංගයේ නම"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"උපාංග සැකසීම්"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"පැතිකඩ සැකසීම්"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"ස්වයං ක්ලික් කිරීමේ වේලාව"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"ඔබගේ යෙදුම් බැටරිය සාමාන්‍ය ප්‍රමාණයක් භාවිතා කරයි. යෙදුම් බැටරිය ඉතා වැඩියෙන් භාවිතා කරන්නේ නම්, ඔබේ උපාංගය ඔබට ගත හැකි පියවර යෝජනා කරනු ඇත.\n\nඔබට බැටරිය අඩු වන සෑම විටම බැටරි සුරැකුම ක්‍රියාත්මක කළ හැකිය."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"බැටරි කළමනාකරු"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"යෙදුම් ස්වයංක්‍රියව කළමනාකරණය කරන්න"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ඔබ නිතර භාවිත නොකරන යෙදුම් සඳහා බැටරිය සීමා කරන්න"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"බැටරි කළමනාකරු යෙදුම් බැටරිය අඩු කරන බව හඳුනා ගන්නා විට, මෙම යෙදුම් සීමා කිරීමට ඔබට විකල්පයක් ඇත. සීමා කළ යෙදුම් නිසියාකාරව ක්‍රියා නොකළ හැකි අතර දැනුම්දීම් ප්‍රමාද විය හැකිය."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"බැටරි කළමනාකරු යෙදුම් බැටරිය අඩු කරන බව හඳුනා ගන්නා විට, මෙම යෙදුම් සීමා කිරීමට ඔබට විකල්පයක් ඇත. සීමා කළ යෙදුම් නිසියාකාරව ක්‍රියා නොකළ හැකි අතර දැනුම්දීම් ප්‍රමාද විය හැකිය."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"බැටරි කළමනාකරු යෙදුම් බැටරිය අඩු කරන බව හඳුනා ගන්නා විට, මෙම යෙදුම් සීමා කිරීමට ඔබට විකල්පයක් ඇත. සීමා කළ යෙදුම් නිසියාකාරව ක්‍රියා නොකළ හැකි අතර දැනුම්දීම් ප්‍රමාද විය හැකිය."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ඔබ නිතර භාවිත නොකරන යෙදුම් සඳහා බැටරිය සීමා කරන්න"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"බැටරි කළමනාකරු යෙදුම් බැටරිය අඩු කරන බව හඳුනා ගන්නා විට, මෙම යෙදුම් සීමා කිරීමට ඔබට විකල්පයක් ඇත. සීමා කළ යෙදුම් නිසියාකාරව ක්‍රියා නොකළ හැකි අතර දැනුම්දීම් ප්‍රමාද විය හැකිය."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"සීමා කළ යෙදුම්"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">යෙදුම් %1$dක් සඳහා බැටරි භාවිතය සීමා කරමින්</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"මෙම යෙදුම් පසුබිමින් බැටරිය භාවිත කර ඇත. සීමා කළ යෙදුම් නිසියාකාරව ක්‍රියා නොකළ හැකි අතර දැනුම්දීම් ප්‍රමාද විය හැකිය."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"බැටරි කළමනාකරු භාවිත කරන්න"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"යෙදුම් බැටරිය අඩු කරන විට හඳුනා ගන්න"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ක්‍රියාත්මකයි / යෙදුම් බැටරිය අඩු කරන විට හඳුනා ගනිමින්"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ක්‍රියාත්මකයි / යෙදුම් බැටරිය අඩු කරන විට හඳුනා ගනිමින්"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ක්‍රියාවිරහිතයි"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">යෙදුම් %1$dක් සීමා කර ඇත</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"මෙම පරිශීලකයාට අක්තපත්‍ර නොතිබේ"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN සහ යෙදුම් සඳහා ස්ථාපිත"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi සඳහා ස්ථාපිත"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"යෙදුම් ස්ථාපන මූලාශ්‍ර සත්‍යාපනය සඳහා ස්ථාපනය කරන ලදී"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"සියලු අන්තර්ගත ඉවත් කරන්නද?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"යෙදුම් මූලාශ්‍ර සහතිකය"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ඔබේම අවදානමෙන් මෙම සහතිකය ස්ථාපනය කරන්න"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"යෙදුම් මූලාශ්‍ර සහතික මගින් යෙදුම් ඔබේ උපාංගය සඳහා ආරක්ෂිත දැයි සත්‍යාපනය කරයි. ඔබ විශ්වාස කරන සංවිධානවලින් පමණක් සහතික ස්ථාපනය කරන්න."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"පරිශීලක සහතික එකක්"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"CA සහතික එකක්"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"CA සහතික %dක්"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"යෙදුම් මූලාශ්‍ර සහතික එකකි"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"අක්තපත්‍ර විස්තර"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"මෙම අක්තපත්‍රය ඉවත් කරන ලදී: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"පරිශීලක අක්තපත්‍ර ස්ථාපනය කර නොමැත"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"සහතිකය භාවිත කිරීමට යළි ආරම්භ කරන්න"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"මෙම යෙදුම් මූලාශ්‍ර සහතිකය භාවිත කිරීමට, ඔබ ඔබේ උපාංගය යළි ආරම්භ කිරීමට අවශ්‍යය"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"අස්ථාපනය කිරීම අවසන් කිරීමට යළි ආරම්භ කරන්න"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"මෙම යෙදුම් මූලාශ්‍ර සහතිකය අස්ථාපනය කිරීමට, ඔබ ඔබේ උපාංගය යළි ආරම්භ කිරීමට අවශ්‍යය"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"යළි ආරම්භ කරන්න"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"දැන්ම නොවේ"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"අකුරු වින්‍යාස පරීක්ෂකය"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"වැඩ සඳහා අක්‍ෂර පරීක්‍ෂක"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"ඔබගේ වර්තමාන සම්පූර්ණ ආචයන මුරපදය මෙතන ටයිප් කරන්න"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"නිහඬව පෙන්වන්න සහ කුඩා කරන්න"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"නිහඬව පෙන්වන්න"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ශබ්ද කරන්න"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"පෙර නිකුතු ධාවකය"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index a20e048..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Žiadne"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Žiadne"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Žiadne"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 00204d3..5efc610 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>
@@ -101,7 +68,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Časový limit viditeľnosti"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Uzamknúť hlasové vytáčanie"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Zabrániť použitiu vytáčania Bluetooth pri uzamknutej obrazovke"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Zariadenia Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Názov zariadenia"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Nastavenia zariadenia"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Nastavenia profilu"</string>
@@ -176,9 +142,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 +177,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 +219,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 +237,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 +244,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 +287,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 +318,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 +631,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 +673,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>
@@ -872,16 +799,19 @@
     <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 +885,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 +896,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 +904,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>
@@ -998,12 +930,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 +950,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 +970,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 +1028,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 +1081,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 +1090,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 +1127,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 +1263,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 +1286,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 +1377,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 +1404,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 +1617,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 +1667,9 @@
     <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="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 +1762,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 +1770,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>
@@ -1941,7 +1905,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 +2105,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 +2113,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 +2182,41 @@
     <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="2370077188725433271">"č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_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 +2230,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>
@@ -2464,10 +2482,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Vaše aplikácie majú normálnu spotrebu batérie. Ak ju využívajú nadmerne, zariadenie vám navrhne možné opatrenia.\n\nAk vám dochádza batéria, môžete ešte vždy zapnúť šetrič batérie."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Správca batérie"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Spravovať aplikácie automaticky"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Obmedzte spotrebu batérie aplikáciami, ktoré používate zriedka"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Keď správca batérie zistí, že aplikácie nadmerne vybíjajú batériu, zobrazí sa možnosť ich obmedziť. Obmedzené aplikácie nemusia správne fungovať a upozornenia môžu byť oneskorené."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Keď správca batérie zistí, že aplikácie nadmerne vybíjajú batériu, zobrazí sa možnosť ich obmedziť. Obmedzené aplikácie nemusia správne fungovať a upozornenia môžu byť oneskorené."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Keď správca batérie zistí, že aplikácie nadmerne vybíjajú batériu, zobrazí sa možnosť ich obmedziť. Obmedzené aplikácie nemusia správne fungovať a upozornenia môžu byť oneskorené."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Obmedzte spotrebu batérie aplikáciami, ktoré používate zriedka"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Keď správca batérie zistí, že aplikácie nadmerne vybíjajú batériu, zobrazí sa možnosť ich obmedziť. Obmedzené aplikácie nemusia správne fungovať a upozornenia môžu byť oneskorené."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Obmedzené aplikácie"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="few">Obmedzuje sa spotreba batérie %1$d aplikáciami</item>
@@ -2479,7 +2495,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Tieto aplikácie používali batériu na pozadí. Obmedzené aplikácie nemusia správne fungovať a upozornenia môžu byť oneskorené."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Použiť správcu batérie"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Zistite, keď aplikácie nadmerne vybíjajú batériu"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Zapnuté / zisťovanie nadmerného vybíjania batérie aplikáciami je aktívne"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Zapnuté / zisťovanie nadmerného vybíjania batérie aplikáciami je aktívne"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Vypnuté"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="few">%1$d obmedzené aplikácie</item>
@@ -2589,7 +2605,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>
@@ -2670,8 +2685,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>
@@ -2687,10 +2701,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Poverenia nie sú pre tohto používateľa k dispozícii"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Nainštalované pre sieť VPN a aplikácie"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Nainštalované pre sieť Wi‑Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Nainštalované na overenie zdroja inštalácie aplikácie"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Chcete odstrániť všetok obsah?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certifikát zdroja aplikácie"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Tento certifikát inštalujete na vlastné riziko"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Certifikáty zdroja aplikácie potvrdzujú, že aplikácie sú bezpečné pre vaše zariadenie. Inštalujte iba certifikáty od organizácií, ktorým dôverujete."</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>
@@ -2718,10 +2744,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>
@@ -2735,6 +2757,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>
@@ -2967,9 +2999,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"jeden certifikát používateľa"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"jeden certifikát CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"certifikáty CA (%d)"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"jeden certifikát zdroja aplikácie"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Podrobnosti o povereniach"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Odstránené poverenie: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nie sú nainštalované žiadne poverenia používateľa"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Ak chcete použiť certifikát, reštartujte"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Ak chcete použiť tento certifikát zdroja aplikácie, musíte reštartovať zariadenie"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Odinštalovanie dokončíte reštartovaním"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Ak chcete odinštalovať tento certifikát zdroja aplikácie, musíte reštartovať zariadenie"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Reštartovať"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Teraz nie"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Kontrola pravopisu"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Kontrola pravopisu pre prácu"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Tu zadajte aktuálne heslo pre úplné zálohy"</string>
@@ -3092,7 +3131,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>
@@ -3161,7 +3199,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>
@@ -3171,6 +3208,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>
@@ -3184,7 +3222,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>
@@ -3204,6 +3241,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>
@@ -3214,13 +3252,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>
@@ -3244,7 +3283,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>
@@ -3282,6 +3321,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>
@@ -3291,18 +3331,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>
@@ -3310,6 +3351,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>
@@ -3335,6 +3379,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>
@@ -3361,7 +3406,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>
@@ -3392,7 +3437,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>
@@ -3426,10 +3471,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>
@@ -3473,16 +3520,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>
@@ -3500,6 +3557,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>
@@ -3530,6 +3588,12 @@
     <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="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>
@@ -3548,7 +3612,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>
@@ -3575,6 +3639,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>
@@ -3642,8 +3707,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>
@@ -3699,6 +3766,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>
@@ -3712,15 +3783,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">
@@ -3769,6 +3845,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>
@@ -3861,8 +3938,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>
@@ -3874,6 +3949,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>
@@ -3887,9 +3963,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>
@@ -4039,8 +4122,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>
@@ -4216,6 +4302,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>
@@ -4281,14 +4369,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>
@@ -4385,8 +4469,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>
@@ -4565,20 +4653,24 @@
     <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="5389656885733341448">"Ovládač predbežného vydania"</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_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) -->
+    <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>
@@ -4744,7 +4836,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>
@@ -4753,13 +4844,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>
@@ -4769,6 +4855,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>
@@ -4838,6 +4926,13 @@
     <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>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index 2ba1e80..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Brez"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Brez"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Brez"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 0439369..9339835 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>
@@ -101,7 +68,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Časovna omejitev vidnosti"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Zakleni glasovno klicanje"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Prepreči uporabo telefona Bluetooth, kadar je zaslon zaklenjen"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Naprave Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Ime naprave"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Nastavitve naprave"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Nastavitve profila"</string>
@@ -176,9 +142,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 +177,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 +219,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 +237,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 +244,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 +287,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 +318,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 +631,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 +673,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>
@@ -872,16 +799,19 @@
     <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 +885,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 +896,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 +904,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>
@@ -998,12 +930,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 +950,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 +970,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 +1028,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 +1081,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 +1090,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 +1127,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 +1263,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 +1286,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 +1377,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 +1404,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 +1617,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 +1667,9 @@
     <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="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 +1762,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 +1770,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>
@@ -1941,7 +1905,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 +2105,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 +2113,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 +2182,41 @@
     <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="2370077188725433271">"Č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_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 +2230,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>
@@ -2464,10 +2482,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikacije porabljajo običajno količino energije akumulatorja. V primeru prekomerne porabe energije vam bo naprava predlagala ustrezne ukrepe.\n\nČe akumulatorju zmanjkuje energije, lahko vedno vklopite varčevanje z energijo akumulatorja."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Varčevanje z energijo akumulatorja"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Samodejno upravljanje aplikacij"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Omejite porabljanje energije akumulatorja za aplikacije, ki jih ne uporabljate pogosto"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Ko varčevanje z energijo akumulatorja zazna, da aplikacije porabljajo energijo akumulatorja, lahko te aplikacije omejite. Omejene aplikacije morda ne bodo delovale pravilno, obvestila pa bodo morda zakasnjena."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Ko varčevanje z energijo akumulatorja zazna, da aplikacije porabljajo energijo akumulatorja, lahko te aplikacije omejite. Omejene aplikacije morda ne bodo delovale pravilno, obvestila pa bodo morda zakasnjena."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Ko varčevanje z energijo akumulatorja zazna, da aplikacije porabljajo energijo akumulatorja, lahko te aplikacije omejite. Omejene aplikacije morda ne bodo delovale pravilno, obvestila pa bodo morda zakasnjena."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Omejite porabljanje energije akumulatorja za aplikacije, ki jih ne uporabljate pogosto"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Ko varčevanje z energijo akumulatorja zazna, da aplikacije porabljajo energijo akumulatorja, lahko te aplikacije omejite. Omejene aplikacije morda ne bodo delovale pravilno, obvestila pa bodo morda zakasnjena."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Omejene aplikacije"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Omejitev porabe energije akumulatorja za %1$d aplikacijo</item>
@@ -2479,7 +2495,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Te aplikacije so porabljale energijo akumulatorja v ozadju. Omejene aplikacije morda ne bodo delovale pravilno, obvestila pa bodo morda zakasnjena."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Uporaba varčevanja z energijo akumulatorja"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Zaznavanje, ko aplikacije porabljajo energijo akumulatorja"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Vklopljeno / Zaznavanje, ko aplikacije porabljajo energijo akumulatorja"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Vklopljeno / Zaznavanje, ko aplikacije porabljajo energijo akumulatorja"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Izklopljeno"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d aplikacija je omejena</item>
@@ -2589,7 +2605,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>
@@ -2670,8 +2685,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>
@@ -2687,10 +2701,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Za tega uporabnika niso na voljo poverilnice"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Nameščeno za VPN in aplikacije"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Nameščeno za Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Nameščeno za preverjanje vira namestitve aplikacij"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Želite odstraniti vso vsebino?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Potrdilo vira aplikacij"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"To potrdilo namestite na lastno odgovornost"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Potrdila vira aplikacij preverijo, ali so aplikacije varne za napravo. Nameščajte samo potrdila, ki jih izdajo zaupanja vredne organizacije."</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>
@@ -2718,10 +2744,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>
@@ -2735,6 +2757,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>
@@ -2967,9 +2999,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"eno uporabniško potrdilo"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"eno potrdilo overitelja potrdil"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"Potrdila overitelja potrdil: %d"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"eno potrdilo vira aplikacij"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Podrobnosti poverilnic"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Odstranjena poverilnica: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Ni nameščenih uporabniških poverilnic"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Vnovični zagon za uporabo potrdila"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Če želite uporabiti to potrdilo vira aplikacij, morate znova zagnati napravo"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Vnovični zagon za dokončanje odmestitve"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Če želite odmestiti to potrdilo vira aplikacij, morate znova zagnati napravo"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Znova zaženi"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Ne zdaj"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Črkovalnik"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Črkovalnik za delo"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Sem vnesite trenutno geslo za popolno varnostno kopiranje"</string>
@@ -3092,7 +3131,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>
@@ -3161,7 +3199,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>
@@ -3171,6 +3208,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>
@@ -3184,7 +3222,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>
@@ -3204,6 +3241,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>
@@ -3214,13 +3252,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>
@@ -3244,7 +3283,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>
@@ -3282,6 +3321,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>
@@ -3291,18 +3331,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>
@@ -3310,6 +3351,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>
@@ -3335,6 +3379,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>
@@ -3361,7 +3406,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>
@@ -3392,7 +3437,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>
@@ -3426,10 +3471,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>
@@ -3473,16 +3520,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>
@@ -3500,6 +3557,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>
@@ -3530,6 +3588,12 @@
     <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="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>
@@ -3548,7 +3612,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>
@@ -3575,6 +3639,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>
@@ -3642,8 +3707,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>
@@ -3699,6 +3766,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>
@@ -3712,15 +3783,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">
@@ -3769,6 +3845,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>
@@ -3861,8 +3938,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>
@@ -3874,6 +3949,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>
@@ -3887,9 +3963,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>
@@ -4039,8 +4122,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>
@@ -4216,6 +4302,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>
@@ -4281,14 +4369,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>
@@ -4385,8 +4469,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>
@@ -4565,20 +4653,24 @@
     <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="5389656885733341448">"Gonilnik v predizdajni različici"</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_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) -->
+    <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>
@@ -4744,7 +4836,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>
@@ -4753,13 +4844,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>
@@ -4769,6 +4855,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>
@@ -4838,6 +4926,13 @@
     <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>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index 318b135..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Asnjë"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Asnjë"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Asnjë"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 9da32b6..0505795 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Koha e veprimit mbi dukshmërinë skadoi pa sukses"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Kyç formimin e numrit me zë"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Parandalo përdorimin e formuesit të numrit me Bluetooth kur ekrani është i kyçur."</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Pajisjet me Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Emri i pajisjes"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Cilësimet e pajisjes"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Cilësimet e profilit"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Aplikacionet e tua po përdorin një sasi normale të baterisë. Nëse aplikacionet përdorin një sasi të madhe të baterisë, pajisja jote do të japë sugjerime për veprimet që mund të kryesh.\n\nMund të aktivizosh gjithmonë \"Kursyesin e baterisë\" nëse bateria është në nivel të ulët."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Menaxheri i baterisë"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Menaxho automatikisht aplikacionet"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Kufizo baterinë për aplikacionet që nuk i përdor shpesh"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Kur \"Menaxheri i baterisë\" të zbulojë se këto aplikacione po shkarkojnë baterinë, do të kesh opsionin që t\'i kufizosh këto aplikacione. Aplikacionet e kufizuara mund të mos funksionojnë si duhet dhe njoftimet mund të vonohen."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Kur \"Menaxheri i baterisë\" të zbulojë se këto aplikacione po shkarkojnë baterinë, do të kesh opsionin që t\'i kufizosh këto aplikacione. Aplikacionet e kufizuara mund të mos funksionojnë si duhet dhe njoftimet mund të vonohen."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Kur \"Menaxheri i baterisë\" të zbulojë se këto aplikacione po shkarkojnë baterinë, do të kesh opsionin që t\'i kufizosh këto aplikacione. Aplikacionet e kufizuara mund të mos funksionojnë si duhet dhe njoftimet mund të vonohen."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Kufizo baterinë për aplikacionet që nuk i përdor shpesh"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Kur \"Menaxheri i baterisë\" të zbulojë se këto aplikacione po shkarkojnë baterinë, do të kesh opsionin që t\'i kufizosh këto aplikacione. Aplikacionet e kufizuara mund të mos funksionojnë si duhet dhe njoftimet mund të vonohen."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Aplikacionet e kufizuara"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Përdorimi i baterisë po kufizohet për %1$d aplikacione</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Këto aplikacione kanë përdorur bateri në sfond. Aplikacionet e kufizuara mund të mos funksionojnë siç duhet dhe njoftimet mund të vonohen."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Përdor \"Menaxherin e baterisë\""</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Zbulo kur aplikacionet shkarkojnë baterinë"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Aktiv / Po zbulon kur aplikacionet shkarkojnë baterinë"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Aktiv / Po zbulon kur aplikacionet shkarkojnë baterinë"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Joaktiv"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d aplikacione të kufizuara</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Kredencialet nuk ofrohen për këtë përdorues"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Instaluar për VPN dhe aplikacione"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Instaluar për Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Instaluar për verifikimin e burimit të instalimit të aplikacionit"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Të hiqen të gjitha përmbajtjet?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certifikata e burimit të aplikacionit"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Instaloje këtë certifikatë duke marrë vetë parasysh rrezikun"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Certifikatat e burimit të aplikacionit verifikojnë se aplikacionet janë të sigurta për pajisjen tënde. Instalo vetëm certifikata nga organizatat që u beson."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"certifikatë për një përdorues"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"një certifikatë CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d certifikata CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"një certifikatë burimi aplikacioni"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Detajet e kredencialeve"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Kredenciali i hequr: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Nuk ka kredenciale të përdoruesit të instaluara"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Rinise për të përdorur certifikatën"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Për të përdorur këtë certifikatë burimi aplikacioni, duhet të rinisësh pajisjen tënde"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Rinise për të përfunduar çinstalimin"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Për të çinstaluar këtë certifikatë burimi aplikacioni, duhet të rinisësh pajisjen tënde"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Rifillo"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Jo tani"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Kontrolluesi drejtshkrimor"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Kontrolluesi drejtshkrimor për punë"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Shkruaj fjalëkalimin aktual për rezervimin e plotë"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Drejtuesi para publikimit zyrtar"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index 4f97c2e..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Ништа"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ништа"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"АКА"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"АКА"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Ништа"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 4e04d60..4080572 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>
@@ -100,7 +67,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Време чекања за видљивост"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Закључај говорно бирање"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Спречи коришћење bluetooth програма за бирање бројева када је екран закључан"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth уређаји"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Назив уређаја"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Подешавања уређаја"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Подешавања профила"</string>
@@ -175,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>
@@ -210,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 пропусни опсег (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 +217,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 +235,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 +242,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 +285,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 +315,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 +623,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 +659,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>
@@ -856,16 +782,19 @@
     <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 +868,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 +879,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 +887,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>
@@ -982,12 +913,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 +933,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 +953,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 +1008,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 +1061,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 +1070,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 +1107,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 +1243,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 +1266,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 +1356,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 +1383,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 +1596,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 +1646,9 @@
     <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="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 +1740,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 +1748,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>
@@ -1919,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>
@@ -2119,7 +2082,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 +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">"Цео екран и део екрана"</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 +2159,41 @@
     <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="2370077188725433271">"трајање аутоматског клика"</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_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 +2206,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>
@@ -2429,10 +2445,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Апликације користе уобичајену количину батерије. Ако апликације користе превише батерије, уређај ће вам предложити радње које можете да предузмете.\n\nУвек можете да укључите Уштеду батерије ако вам је батерија при крају."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Менаџер батерије"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Управљајте апликацијама аутоматски"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Ограничите потрошњу батерије за апликације које не користите често"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Када менаџер батерије открије да апликације празне батерију, имате опцију да ограничите те апликације. Ограничене апликације можда неће радити како треба и обавештења могу да касне."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Када менаџер батерије открије да апликације празне батерију, имате опцију да ограничите те апликације. Ограничене апликације можда неће радити како треба и обавештења могу да касне."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Када менаџер батерије открије да апликације празне батерију, имате опцију да ограничите те апликације. Ограничене апликације можда неће радити како треба и обавештења могу да касне."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Ограничите потрошњу батерије за апликације које не користите често"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Када менаџер батерије открије да апликације празне батерију, имате опцију да ограничите те апликације. Ограничене апликације можда неће радити како треба и обавештења могу да касне."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Ограничене апликације"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Ограничите потрошњу батерије за %1$d апликацију</item>
@@ -2443,7 +2457,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Ове апликације су трошиле батерију у позадини. Ограничене апликације можда неће радити како треба и обавештења могу да касне."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Користите менаџер батерије"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Откријте када апликације испразне батерију"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Укључено / Откривање када апликације испразне батерију"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Укључено / Откривање када апликације испразне батерију"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Искључено"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d апликација је ограничена</item>
@@ -2552,7 +2566,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>
@@ -2633,8 +2646,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>
@@ -2650,10 +2662,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Акредитиви нису доступни за овог корисника"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Инсталирано за VPN и апликације"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Инсталирано за Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Инсталирано за потврду извора инсталације апликације"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Желите ли да уклоните сав садржај?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Сертификат за извор апликације"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Инсталирајте овај сертификат на сопствени ризик"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Сертификати за изворе апликација потврђују да су апликације безбедне за уређај. Инсталирајте сертификате само из организација у које имате поверења."</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>
@@ -2681,10 +2705,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>
@@ -2698,6 +2718,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>
@@ -2930,9 +2959,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"један сертификат корисника"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"један CA сертификат"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA сертификата"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"један сертификат за извор апликације"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Детаљи акредитива"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Уклоњен је акредитив: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Нема инсталираних корисничких акредитива"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Рестартујте да бисте користили сертификат"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Да бисте користили сертификат за извор апликације, морате да рестартујете уређај"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Рестартујте да бисте довршили деинсталирање"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Да бисте деинсталирали овај сертификат за извор апликације, морате да рестартујете уређај"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Рестартуј"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Не сада"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Провера правописа"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Провера правописа за посао"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Овде унесите тренутну лозинку за прављење резервне копије читавог система"</string>
@@ -3051,7 +3087,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>
@@ -3120,7 +3155,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>
@@ -3130,6 +3164,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>
@@ -3143,7 +3178,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>
@@ -3162,6 +3196,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>
@@ -3172,13 +3207,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>
@@ -3202,7 +3238,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>
@@ -3240,6 +3276,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>
@@ -3249,18 +3286,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>
@@ -3268,6 +3306,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>
@@ -3292,6 +3333,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>
@@ -3318,7 +3360,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>
@@ -3349,7 +3391,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>
@@ -3381,10 +3423,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>
@@ -3428,16 +3472,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>
@@ -3455,6 +3509,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>
@@ -3485,6 +3540,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Приказуј без звучног сигнала и умањи"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Приказује се без звучног сигнала"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Емитује се звучни сигнал"</string>
@@ -3503,7 +3564,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>
@@ -3527,6 +3588,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>
@@ -3591,8 +3653,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>
@@ -3647,6 +3711,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>
@@ -3660,15 +3728,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">
@@ -3714,6 +3787,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>
@@ -3802,8 +3876,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>
@@ -3815,6 +3887,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>
@@ -3827,9 +3900,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>
@@ -3976,8 +4055,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>
@@ -4148,6 +4230,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>
@@ -4212,14 +4296,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>
@@ -4312,8 +4392,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>
@@ -4485,20 +4569,24 @@
     <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="5389656885733341448">"Управљачки програм за необјављену верзију"</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_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) -->
+    <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>
@@ -4663,7 +4751,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>
@@ -4672,12 +4759,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>
@@ -4687,6 +4770,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>
@@ -4753,6 +4838,13 @@
     <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>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index 6ff153b..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Inga"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Ingen"</item>
-    <item msgid="6196154457987907739">"MSCHAPv2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Inga"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 8ec42b8..44cb6b1 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Tidsgräns för synlighet"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Röstuppringning med låsskärm"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Förhindra att bluetooth-uppringningsfunktionen används när skärmen är låst"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth-enheter"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Enhetens namn"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Enhetsinställningar"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profilinställningar"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"autoklicktid"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Batteriförbrukningen för apparna är normal. Om apparnas batteriförbrukning är för hög visas förslag på enheten om åtgärder du kan vidta.\n\nOm batteriet börjar ta slut kan du aktivera batterisparläget."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Hantera appar automatiskt"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Begränsa batteriförbrukning för appar som du använder sällan"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"När Battery Manager upptäcker att appar drar mycket batteri har du alternativet att begränsa dessa appar. Begränsade appar kanske inte fungerar som de ska, och aviseringar kan fördröjas."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"När Battery Manager upptäcker att appar drar mycket batteri har du alternativet att begränsa dessa appar. Begränsade appar kanske inte fungerar som de ska, och aviseringar kan fördröjas."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"När Battery Manager upptäcker att appar drar mycket batteri har du alternativet att begränsa dessa appar. Begränsade appar kanske inte fungerar som de ska, och aviseringar kan fördröjas."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Begränsa batteriförbrukning för appar som du använder sällan"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"När Battery Manager upptäcker att appar drar mycket batteri har du alternativet att begränsa dessa appar. Begränsade appar kanske inte fungerar som de ska, och aviseringar kan fördröjas."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Begränsade appar"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Begränsar batterianvändningen för %1$d appar</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"De här apparna har dragit batteri i bakgrunden. Begränsade appar kanske inte fungerar som de ska, och aviseringar kan fördröjas."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Använd Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Upptäck när appar drar mycket batteri"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"På/upptäcker när appar drar mycket batteri"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"På/upptäcker när appar drar mycket batteri"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Av"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d appar begränsas</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Användaruppgifter är inte tillgängliga för den här användaren"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Har installerats för VPN och appar"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Har installerats för Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Installerades för källverifiering vid appinstallationer"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Vill du ta bort allt innehåll?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certifikat för appkälla"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Installera certifikatet på egen risk"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Med certifikat för appkällan verifieras apparna som säkra för enheten. Installera endast certifikat från organisationer du litar på."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ett användarcertifikat"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ett CA-certifikat"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA-certifikat"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ett certifikat för appkällan"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Användaruppgifter"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Uppgift som tagits bort: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Inga användaruppgifter har installerats"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Starta om för att använda certifikatet"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Du måste starta om enheten om du vill använda det här certifikatet för appkällan"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Slutför avinstallationen genom att starta om"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Du måste starta om enheten om du vill avinstallera det här certifikatet för appkällan"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Starta om"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Inte nu"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Stavningskontroll"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Stavningskontroll för jobbet"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Ange det aktuella lösenordet för den fullständiga säkerhetskopian här"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Drivrutin som inte har lanserats"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index 955d931..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Bila"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Hamna"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Hamna"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 045a2c4..7902726 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Muda wa kuonekana"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Funga sauti ya upigaji simu"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Zuia matumizi yakibonyezi cha bluetooth wakati skrini imefungwa"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Vifaa vya Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Jina la kifaa"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Mipangilio ya kifaa"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Mipangilio ya wasifu"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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>
@@ -599,7 +521,7 @@
     <string name="unlock_set_unlock_pin_summary" msgid="1961863114590024945">"Wastani hadi usalama wa juu"</string>
     <string name="unlock_set_unlock_password_title" msgid="2559842616268607041">"Nenosiri"</string>
     <string name="unlock_set_unlock_password_summary" msgid="7647435233968707432">"Usalama wa juu"</string>
-    <string name="unlock_set_do_later_title" msgid="6565575303676064364">"Siyo sasa"</string>
+    <string name="unlock_set_do_later_title" msgid="6565575303676064364">"Si sasa"</string>
     <string name="current_screen_lock" msgid="1367883977261098017">"Mbinu inayotumika kufunga skrini"</string>
     <string name="fingerprint_unlock_set_unlock_pattern" msgid="4492334416059646032">"Alama ya kidole + Mchoro"</string>
     <string name="fingerprint_unlock_set_unlock_pin" msgid="4724451168139460493">"Alama ya kidole + PIN"</string>
@@ -693,7 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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 Mandari meusi (Mipangilio na 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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Programu zako zinatumia kiwango cha kawaida cha betri. Programu zikitumia kiwango cha juu zaidi cha betri, kifaa chako kitapendekeza hatua unazoweza kuchukua.\n\nUnaweza kuwasha Kiokoa Betri wakati wowote, kama chaji ya betri yako inakaribia kuisha."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Kidhibiti cha Betri"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Dhibiti programu kiotomatiki"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Dhibiti matumizi ya chaji kwenye programu ambazo hutumii sana"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Kidhibiti cha betri kikitambua kuwa programu zinatumia chaji sana, utakuwa na chaguo la kudhibiti programu hizi. Huenda programu zilizodhibitiwa zisifanye kazi vizuri na arifa zikachelewa."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Kidhibiti cha betri kikitambua kuwa programu zinatumia chaji sana, utakuwa na chaguo la kudhibiti programu hizi. Huenda programu zilizodhibitiwa zisifanye kazi vizuri na arifa zikachelewa."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Kidhibiti cha betri kikitambua kuwa programu zinatumia chaji sana, utakuwa na chaguo la kudhibiti programu hizi. Huenda programu zilizodhibitiwa zisifanye kazi vizuri na arifa zikachelewa."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Dhibiti matumizi ya chaji kwenye programu ambazo hutumii sana"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Kidhibiti cha betri kikitambua kuwa programu zinatumia chaji sana, utakuwa na chaguo la kudhibiti programu hizi. Huenda programu zilizodhibitiwa zisifanye kazi vizuri na arifa zikachelewa."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Programu zilizodhibitiwa"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Inadhibiti matumizi ya betri kwa programu %1$d</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Programu hizi zimekuwa zikitumia chaji chinichini. Huenda programu ulizozuia zisifanye kazi vizuri na huenda arifa zikachelewa."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Tumia Kidhibiti cha Betri"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Tambua wakati programu zinatumia chaji sana"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Imewashwa/Inatambua wakati programu zinatumia chaji sana"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Imewashwa/Inatambua wakati programu zinatumia chaji sana"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Imezimwa"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">Imezuia programu %1$d</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Kitambulisho hakipatikani kwa mtumiaji huyu"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Imesakinishwa kwa ajili ya VPN na programu"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Imesakinishwa kwa ajili ya Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Imesakinshwa kwa ajili ya uthibitishaji wa chanzo cha usakinishaji wa programu"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Ungependa kuondoa maudhui yote?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Cheti cha Chanzo cha Programu"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Tahadhari unaposakinisha vyeti hivi"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Vyeti vya chanzo cha programu huthibitisha kuwa programu zi salama kwa ajili ya kifaa chako. Sakinisha vyeti kutoka mashirika unayoamini pekee."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"cheti cha mtumiaji mmoja"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"Cheti kimoja cha CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"Vyeti vya %d CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"Cheti kimoja cha Chanzo cha Programu"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Maelezo ya kitambulisho"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Imeondoa kitambulisho: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Hakuna kitambulisho cha mtumiaji kilichowekwa"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Zima kisha uwashe ili utumie cheti"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Ili utumie cheti hiki cha chanzo cha programu, unahitaji kuzima kisha uwashe kifaa chako"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Zima kisha uwashe ili umalize kuondoa"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Ili uondoe cheti hiki cha chanzo cha programu, unahitaji kuzima kisha uwashe kifaa chako"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Zima kisha uwashe"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Si sasa"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Kikagua maendelezo"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Kikagua maendelezo cha kazini"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Andika nenosiri unalotumia kuhifadhi nakala kamili"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4406,20 +4486,24 @@
     <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="5389656885733341448">"Kiendeshaji Kilichotolewa Mapema"</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_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) -->
+    <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>
@@ -4583,7 +4667,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>
@@ -4592,11 +4675,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>
@@ -4606,6 +4686,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>
@@ -4669,6 +4751,13 @@
     <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>
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
index 7f6c725..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"ஏதுமில்லை"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"ஏதுமில்லை"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"சிம்"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"ஏதுமில்லை"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -398,7 +403,7 @@
     <item msgid="5410164687403735103">"வெண்மையில் கருப்பு"</item>
     <item msgid="1119043472912497241">"கருப்பில் மஞ்சள்"</item>
     <item msgid="2836895041823327816">"நீலத்தில் மஞ்சள்"</item>
-    <item msgid="747238414788976867">"தனிப்பயன்"</item>
+    <item msgid="747238414788976867">"பிரத்தியேகம்"</item>
   </string-array>
   <string-array name="vpn_types_long">
     <item msgid="6621806338070912611">"PPTP VPN"</item>
@@ -407,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 1b4e818..26c1f32 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"தெரிவுநிலையின் காலஅளவு"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"குரல் அழைப்பைப் பூட்டு"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"திரைப் பூட்டப்பட்டிருக்கும்போது புளூடூத் டயலரைப் பயன்படுத்துவதைத் தடு"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"புளூடூத் சாதனங்கள்"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"சாதனத்தின் பெயர்"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"சாதன அமைப்பு"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"சுயவிவர அமைப்பு"</string>
@@ -161,7 +127,7 @@
     <string name="bluetooth_map_request" msgid="8664081227240707479">"செய்திக்கான அணுகல் கோரிக்கை"</string>
     <string name="bluetooth_map_acceptance_dialog_text" msgid="2647611490952377156">"உங்கள் செய்திகளை %1$s அணுக விரும்புகிறது. %2$s க்கு அணுகலை வழங்கவா?"</string>
     <string name="bluetooth_sap_request" msgid="473439406287008397">"SIM அணுகல் கோரிக்கை"</string>
-    <string name="bluetooth_sap_acceptance_dialog_text" msgid="2849083276356078655">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> உங்கள் சிம் கார்டை அணுக விரும்புகிறது. சிம் கார்டிற்கு அணுகல் வழங்குவது இணைப்பின் போது, உங்கள் சாதனத்தின் தரவு இணைப்பை முடக்கும். <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>க்கு அணுகல் வழங்கவும்"</string>
+    <string name="bluetooth_sap_acceptance_dialog_text" msgid="2849083276356078655">"<xliff:g id="DEVICE_NAME_0">%1$s</xliff:g> உங்கள் சிம் கார்டை அணுக விரும்புகிறது. சிம் கார்டிற்கு அணுகல் வழங்குவது இணைப்பின் போது, உங்கள் சாதனத்தின் டேட்டா இணைப்பை முடக்கும். <xliff:g id="DEVICE_NAME_1">%2$s?</xliff:g>க்கு அணுகல் வழங்கவும்"</string>
     <string name="bluetooth_device_name_summary" msgid="8678342689845439583">"பிற சாதனங்களில் “<xliff:g id="DEVICE_NAME">^1</xliff:g>” எனத் தெரியும்"</string>
     <string name="bluetooth_off_footer" msgid="76578735660216295">"பிற சாதனங்களுடன் இணைக்க, புளூடூத்தை ஆன் செய்யவும்."</string>
     <string name="bluetooth_paired_device_title" msgid="3240639218362342026">"உங்கள் சாதனங்கள்"</string>
@@ -174,9 +140,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 +175,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 +215,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,19 +233,16 @@
     <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>
     <string name="roaming_enable" msgid="7845716016861535340">"ரோமிங்கின் போது டேட்டா சேவைகளுடன் இணை"</string>
     <string name="roaming_disable" msgid="729512894708689604">"ரோமிங்கின் போது டேட்டா சேவைகளுடன் இணை"</string>
-    <string name="roaming_reenable_message" msgid="5150423860521673540">"உங்களுடைய உள்ளூர் நெட்வொர்க்கில் தரவு ரோமிங்கை முடக்கியுள்ளதால் உங்கள் தரவு இணைப்பை இழந்துவிட்டீர்கள்."</string>
+    <string name="roaming_reenable_message" msgid="5150423860521673540">"உங்களுடைய உள்ளூர் நெட்வொர்க்கில் தரவு ரோமிங்கை முடக்கியுள்ளதால் உங்கள் டேட்டா இணைப்பை இழந்துவிட்டீர்கள்."</string>
     <string name="roaming_turn_it_on_button" msgid="6999283810847157816">"இதை இயக்கவும்"</string>
-    <string name="roaming_warning" msgid="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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,20 @@
     <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>
+    <!-- no translation found for nfc_secure_settings_title (4906958426927741485) -->
+    <skip />
     <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 +852,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 +863,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 +871,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>
@@ -966,12 +897,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 +917,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 +937,8 @@
     <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>
+    <!-- no translation found for wifi_no_user_cert_warning (8466376918835248956) -->
+    <skip />
     <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 +990,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 +1043,8 @@
     <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>
+    <!-- no translation found for wifi_hotspot_auto_off_summary (8283656069997871354) -->
+    <skip />
     <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 +1053,20 @@
     <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>
+    <!-- no translation found for wifi_add_app_single_network_summary (8455616967601552440) -->
+    <skip />
+    <string name="wifi_add_app_single_network_saving_summary" msgid="7366337245410388895">"சேமிக்கிறது…"</string>
+    <string name="wifi_add_app_single_network_saved_summary" msgid="7135016314713158289">"சேமித்தது"</string>
+    <!-- no translation found for wifi_add_app_network_save_failed_summary (7223817782309294652) -->
+    <skip />
+    <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>
+    <!-- no translation found for wifi_add_app_networks_summary (2088967184512169910) -->
+    <skip />
+    <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,19 @@
     <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>
+    <!-- no translation found for wifi_disconnected_from (5249576734324159708) -->
+    <skip />
     <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 +1230,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>
@@ -1286,11 +1249,12 @@
     <string name="wallpaper_settings_title" msgid="5635129851136006383">"வால்பேப்பர்"</string>
     <string name="style_and_wallpaper_settings_title" msgid="7580575814098427579">"ஸ்டைல்கள் &amp; வால்பேப்பர்கள்"</string>
     <string name="wallpaper_settings_summary_default" msgid="7569803705735001813">"இயல்பு"</string>
-    <string name="wallpaper_settings_summary_custom" msgid="3174561317688848729">"தனிப்பயன்"</string>
+    <string name="wallpaper_settings_summary_custom" msgid="3174561317688848729">"பிரத்தியேகம்"</string>
     <string name="wallpaper_suggestion_title" msgid="3812842717939877330">"வால்பேப்பரை மாற்று"</string>
-    <string name="wallpaper_suggestion_summary" msgid="9077061486716754784">"திரையைத் தனிப்பயனாக்கு"</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>
+    <!-- no translation found for style_suggestion_title (1213747484782364775) -->
+    <skip />
     <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,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ஹாட்ஸ்பாட் இயக்கத்திலுள்ளது"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"இணைப்பு முறை"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"டேட்டா சேமிப்பான் இயக்கப்பட்டிருக்கும் போது, இணைக்கவோ போர்ட்டபிள் ஹாட்ஸ்பாட்டுகளைப் பயன்படுத்தவோ முடியாது"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1729,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 +1737,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>
@@ -1897,7 +1870,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 +2070,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 +2078,66 @@
     <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>
+    <!-- no translation found for accessibility_introduction_title (8834950581512452348) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_shortcut_title (8125867833704517463) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_summary_software (2820923641553461297) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software_gesture (8078659880723370597) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software_gesture_talkback (7422753388389160524) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_software (4796192466943479849) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software (8922102767509399352) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_gesture (7019216141092205215) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_software_gesture_talkback (5967787136477866253) -->
+    <skip />
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ஒலியளவுக்கான விசைகளைப் பிடிக்கவும்"</string>
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_hardware (7318273124091000632) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_title_triple_tap (6672798007229795841) -->
+    <skip />
+    <!-- no translation found for accessibility_shortcut_edit_dialog_summary_triple_tap (3081710523998838305) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_shortcut_settings (836783442658447995) -->
+    <skip />
     <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 +2161,47 @@
     <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>
+    <!-- no translation found for accessibility_display_inversion_switch_title (7458595722552743503) -->
+    <skip />
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_autoclick_default_title (2060909980831267041) -->
+    <skip />
+    <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>
+    <!-- no translation found for accessibility_autoclick_shorter_desc (7631013255724544348) -->
+    <skip />
+    <!-- no translation found for accessibility_autoclick_longer_desc (2566025502981487443) -->
+    <skip />
+    <!-- no translation found for accessibility_autoclick_seekbar_desc (2370077188725433271) -->
+    <skip />
     <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_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,26 +2213,18 @@
     <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>
-    </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>
-    <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>
-    <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>
-    <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>
+    <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>
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_extremely_short_delay (8226135362782015387) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_very_short_delay (4440667435012753839) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_short_delay (1627969745093865560) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_long_delay (1126608261854734991) -->
+    <!-- no translation found for accessibilty_autoclick_preference_subtitle_very_long_delay (6624972454933133135) -->
+    <!-- no translation found for accessibilty_autoclick_delay_unit_second (8132935106204075064) -->
     <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>
     <string name="accessibility_vibration_summary_low" msgid="6482721005400340317">"ஒலி &amp; அறிவிப்பு, குறைவாக அதிரும்படி அமைக்கப்பட்டது"</string>
@@ -2215,7 +2242,7 @@
     <string name="captioning_locale" msgid="5533303294290661590">"மொழி"</string>
     <string name="captioning_text_size" msgid="8039448543171463017">"உரையின் அளவு"</string>
     <string name="captioning_preset" msgid="4174276086501638524">"தலைப்பின் நடை"</string>
-    <string name="captioning_custom_options_title" msgid="3858866498893566351">"தனிப்பயன் விருப்பங்கள்"</string>
+    <string name="captioning_custom_options_title" msgid="3858866498893566351">"பிரத்தியேக விருப்பங்கள்"</string>
     <string name="captioning_background_color" msgid="5231412761368883107">"பின்புல வண்ணம்"</string>
     <string name="captioning_background_opacity" msgid="6453738649182382614">"பின்னணி ஒளிபுகாத்தன்மை"</string>
     <string name="captioning_window_color" msgid="1406167274530183119">"தலைப்பு சாளரத்தின் வண்ணம்"</string>
@@ -2394,10 +2421,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"வழக்கமான பேட்டரி அளவை உங்கள் ஆப்ஸ் பயன்படுத்துகின்றன. அதிகளவு பேட்டரியை அவைப் பயன்படுத்தினால், நீங்கள் செய்யக்கூடிய செயல்களை உங்கள் சாதனம் பரிந்துரைக்கும்.\n\nபேட்டரி குறைவாக இருக்கும்போது பேட்டரி சேமிப்பானை எப்போது வேண்டுமானாலும் ஆன் செய்துகொள்ளலாம்."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"பேட்டரி நிர்வாகி"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"தானாகவே ஆப்ஸை நிர்வகித்தல்"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"நீங்கள் அடிக்கடி பயன்படுத்தாத ஆப்ஸிற்கு பேட்டரியைக் கட்டுப்படுத்தும்"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"பேட்டரியை ஆப்ஸ் வேகமாகத் தீர்த்துவிடும் என்பதைப் பேட்டரி நிர்வாகி கண்டறியும்போது, இந்த ஆப்ஸைக் கட்டுப்படுத்துவதற்கான விருப்பத்தேர்வு உள்ளது. கட்டுப்படுத்தப்பட்ட ஆப்ஸ் சரியாகச் செயல்படாமல் போகலாம், அவற்றுக்கான அறிவிப்புகளும் தாமதமாக வரலாம்."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"பேட்டரியை ஆப்ஸ் வேகமாகத் தீர்த்துவிடும் என்பதைப் பேட்டரி நிர்வாகி கண்டறியும்போது, இந்த ஆப்ஸைக் கட்டுப்படுத்துவதற்கான விருப்பத்தேர்வு உள்ளது. கட்டுப்படுத்தப்பட்ட ஆப்ஸ் சரியாகச் செயல்படாமல் போகலாம், அவற்றுக்கான அறிவிப்புகளும் தாமதமாக வரலாம்."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"பேட்டரியை ஆப்ஸ் வேகமாகத் தீர்த்துவிடும் என்பதைப் பேட்டரி நிர்வாகி கண்டறியும்போது, இந்த ஆப்ஸைக் கட்டுப்படுத்துவதற்கான விருப்பத்தேர்வு உள்ளது. கட்டுப்படுத்தப்பட்ட ஆப்ஸ் சரியாகச் செயல்படாமல் போகலாம், அவற்றுக்கான அறிவிப்புகளும் தாமதமாக வரலாம்."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"நீங்கள் அடிக்கடி பயன்படுத்தாத ஆப்ஸிற்கு பேட்டரியைக் கட்டுப்படுத்தும்"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"பேட்டரியை ஆப்ஸ் வேகமாகத் தீர்த்துவிடும் என்பதைப் பேட்டரி நிர்வாகி கண்டறியும்போது, இந்த ஆப்ஸைக் கட்டுப்படுத்துவதற்கான விருப்பத்தேர்வு உள்ளது. கட்டுப்படுத்தப்பட்ட ஆப்ஸ் சரியாகச் செயல்படாமல் போகலாம், அவற்றுக்கான அறிவிப்புகளும் தாமதமாக வரலாம்."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"கட்டுப்படுத்தப்பட்ட ஆப்ஸ்"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d ஆப்ஸிற்கு, பேட்டரி உபயோகத்தைக் கட்டுப்படுத்துகிறது</item>
@@ -2407,7 +2432,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"இந்த ஆப்ஸ், பின்னணியில் பேட்டரியைப் பயன்படுத்துகின்றன. கட்டுப்படுத்தப்பட்ட ஆப்ஸ் சரியாக வேலைசெய்யாமல் போகலாம். அத்துடன் அவற்றுக்கான அறிவிப்புகளும் தாமதமாக வரலாம்."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"பேட்டரி நிர்வாகியைப் பயன்படுத்து"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"பேட்டரியை ஆப்ஸ் அதிகமாகப் பயன்படுத்தும்போது கண்டறியும்"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"ஆன் / பேட்டரியை ஆப்ஸ் அதிகமாகப் பயன்படுத்தும்போது கண்டறிகிறது"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"ஆன் / பேட்டரியை ஆப்ஸ் அதிகமாகப் பயன்படுத்தும்போது கண்டறிகிறது"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ஆஃப்"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d ஆப்ஸ் கட்டுப்படுத்தப்பட்டன</item>
@@ -2515,7 +2540,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>
@@ -2596,8 +2620,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>
@@ -2613,10 +2636,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"இவருக்கு நற்சான்றுகளை அணுக அனுமதியில்லை"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN மற்றும் பயன்பாடுகளுக்காக நிறுவியது"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"வைஃபைக்காக நிறுவியது"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"நிறுவப்பட்ட ஆப்ஸின் மூலத்தைச் சரிபார்க்க நிறுவப்பட்டுள்ளது"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"எல்லா உள்ளடக்கத்தையும் அகற்றவா?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"App Source சான்றிதழ்"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"உங்கள் சொந்த பொறுப்பில் இந்தச் சான்றிதழ்"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"உங்கள் சாதனத்திற்கு பாதுகாப்பான சான்றிதழ்கள்தான் என்பதை ஆப்ஸ் மூலச் சான்றிதழ்கள் சரிபார்க்கும். நீங்கள் நம்பும் நிறுவனங்களால் வழங்கப்படும் சான்றிதழ்களை மட்டும் நிறுவவும்."</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>
@@ -2644,10 +2679,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>
@@ -2661,6 +2692,11 @@
     <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>
+    <!-- no translation found for notification_history_count (1859304685071321991) -->
     <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>
@@ -2893,9 +2929,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ஒரு பயனர் சான்றிதழ்"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ஒரு CA சான்றிதழ்"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA சான்றிதழ்கள்"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ஒரு App Source சான்றிதழ்"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"அனுமதிச் சான்றின் விவரங்கள்"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"அகற்றிய அனுமதிச்சான்றிதழ்: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"பயனர் அனுமதிச் சான்றுகள் எதுவும் நிறுவப்படவில்லை"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"சான்றிதழை பயன்படுத்த மீண்டும் தொடங்க வேண்டும்"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"இந்த ஆப்ஸ் மூலத்தின் சான்றிதழைப் பயன்படுத்த உங்கள் சாதனத்தை மீண்டும் தொடங்கவும்"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"நிறுவல் நீக்க மீண்டும் தொடங்கவும்"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"இந்த ஆப்ஸ் மூலச் சான்றிதழை நிறுவல்நீக்க உங்கள் சாதனத்தை மீண்டும் தொடங்க வேண்டும்"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"மீண்டும் தொடங்கு"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"இப்போது வேண்டாம்"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"பிழைத்திருத்தி"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"பணிக்கான பிழைதிருத்தி"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"உங்கள் தற்போதைய முழு காப்புப்பிரதி கடவுச்சொல்லை இங்கே உள்ளிடவும்"</string>
@@ -2973,9 +3016,9 @@
     <string name="user_adding_new_user" msgid="7439602720177181412">"புதிய பயனரைச் சேர்க்கிறது…"</string>
     <string name="user_delete_user_description" msgid="7764153465503821011">"பயனரை நீக்கு"</string>
     <string name="user_delete_button" msgid="3833498650182594653">"நீக்கு"</string>
-    <string name="user_guest" msgid="4545590092001460388">"வேறொருவர்"</string>
-    <string name="user_exit_guest_title" msgid="2653103120908427236">"அழைக்கப்பட்டவரை அகற்று"</string>
-    <string name="user_exit_guest_confirm_title" msgid="1284823459630164754">"அழைக்கப்பட்டவரை அகற்றவா?"</string>
+    <string name="user_guest" msgid="4545590092001460388">"கெஸ்ட்"</string>
+    <string name="user_exit_guest_title" msgid="2653103120908427236">"கெஸ்ட்டை அகற்று"</string>
+    <string name="user_exit_guest_confirm_title" msgid="1284823459630164754">"கெஸ்ட்டை அகற்றவா?"</string>
     <string name="user_exit_guest_confirm_message" msgid="8995296853928816554">"இந்த அமர்வின் எல்லா பயன்பாடுகளும், தரவும் நீக்கப்படும்."</string>
     <string name="user_exit_guest_dialog_remove" msgid="7067727314172605181">"அகற்று"</string>
     <string name="user_enable_calling" msgid="264875360626905535">"ஃபோன் அழைப்புகளை இயக்கு"</string>
@@ -3010,7 +3053,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>
@@ -3079,7 +3121,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>
@@ -3089,6 +3130,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>
@@ -3102,7 +3144,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>
@@ -3120,6 +3161,8 @@
     <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>
+    <!-- no translation found for nfc_and_payment_settings_payment_off_nfc_off_summary (7132040463607801625) -->
+    <skip />
     <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>
@@ -3130,13 +3173,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>
@@ -3144,7 +3188,7 @@
     <string name="keywords_display" msgid="874738809280751745">"திரை, டச்ஸ்கிரீன்"</string>
     <string name="keywords_display_brightness_level" msgid="850742707616318056">"ஒளிமங்கல் திரை, டச்ஸ்கிரீன், பேட்டரி, பிரகாசம்"</string>
     <string name="keywords_display_night_display" msgid="4711054330804250058">"ஒளிமங்கல் திரை, இரவு, மென்னிறம், இரவு ஷிஃப்ட், ஒளிர்வு, திரை வண்ணம், நிறம், வண்ணம்"</string>
-    <string name="keywords_display_wallpaper" msgid="8478137541939526564">"பின்னணி, தனிப்படுத்து, தனிப்பயனாக்கு திரை"</string>
+    <string name="keywords_display_wallpaper" msgid="8478137541939526564">"பின்னணி, தனிப்படுத்து, பிரத்தியேகமாக்கு திரை"</string>
     <string name="keywords_display_font_size" msgid="3593317215149813183">"உரை அளவு"</string>
     <string name="keywords_display_cast_screen" msgid="2572331770299149370">"திரையில் காட்டு, அலைபரப்பு, திரையை மிரரிங் செய், திரையைக் காட்டு, திரையைப் பகிர், திரைப் பகிர்தல், மிரரிங், திரையை அலைபரப்பு, திரை அலைபரப்புதல்"</string>
     <string name="keywords_storage" msgid="3004667910133021783">"இடம், டிஸ்க், வட்டு இயக்ககம், சாதனப் பயன்பாடு"</string>
@@ -3160,7 +3204,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>
@@ -3198,6 +3242,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>
@@ -3207,18 +3252,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>
@@ -3226,6 +3272,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>
@@ -3249,6 +3298,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>
@@ -3275,7 +3325,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>
@@ -3284,8 +3334,8 @@
     <string name="zen_mode_restrict_notifications_hide_summary" msgid="6005445725686969583">"அறிவிப்புகளைப் பார்க்கவோ கேட்கவோ மாட்டீர்கள்"</string>
     <string name="zen_mode_restrict_notifications_hide_footer" msgid="4314772315731485747">"புதிய அல்லது ஏற்கனவே இருக்கும் அறிவிப்புகளை உங்கள் மொபைல் காட்டாது, அதிர்வுறாது அல்லது ஒலி எழுப்பாது. உங்கள் மொபைலின் செயல்பாடு மற்றும் நிலை தொடர்பான முக்கிய அறிவிப்புகள் தொடர்ந்து தோன்றும் என்பதை நினைவில்கொள்ளவும்.\n\nதொந்தரவு செய்ய வேண்டாம் என்பதை நீங்கள் முடக்கும் போது, உங்கள் திரையின் மேலிருந்து கீழாக ஸ்வைப் செய்வதன் மூலம் தவறிய அழைப்புகள் எவை என்பதைப் பார்க்கலாம்."</string>
     <string name="zen_mode_restrict_notifications_custom" msgid="5469078057954463796">"பிரத்தியேகமானது"</string>
-    <string name="zen_mode_restrict_notifications_enable_custom" msgid="4303255634151330401">"தனிப்பயன் அமைப்பை இயக்கு"</string>
-    <string name="zen_mode_restrict_notifications_disable_custom" msgid="5062332754972217218">"தனிப்பயன் அமைப்பை அகற்று"</string>
+    <string name="zen_mode_restrict_notifications_enable_custom" msgid="4303255634151330401">"பிரத்தியேக அமைப்பை இயக்கு"</string>
+    <string name="zen_mode_restrict_notifications_disable_custom" msgid="5062332754972217218">"பிரத்தியேக அமைப்பை அகற்று"</string>
     <string name="zen_mode_restrict_notifications_summary_muted" msgid="4750213316794189968">"அறிவிப்புகள் வரும்போது ஒலியெழுப்ப வேண்டாம்"</string>
     <string name="zen_mode_restrict_notifications_summary_custom" msgid="3918461289557316364">"பகுதியளவு மறைக்கப்பட்டவை"</string>
     <string name="zen_mode_restrict_notifications_summary_hidden" msgid="636494600775773296">"அறிவிப்புகள் வரும்போது காட்டவோ ஒலியெழுப்பவோ வேண்டாம்"</string>
@@ -3295,7 +3345,7 @@
     <string name="zen_mode_block_effect_sound" msgid="7929909410442858327">"ஒலியையும் அதிர்வையும் முடக்கு"</string>
     <string name="zen_mode_block_effect_intent" msgid="7621578645742903531">"திரையை ஆன் செய்யாதே"</string>
     <string name="zen_mode_block_effect_light" msgid="1997222991427784993">"ஒளியை மிளிரச் செய்யாதே"</string>
-    <string name="zen_mode_block_effect_peek" msgid="2525844009475266022">"திரையில் அறிவிப்புகளைப் பாப் அப் செய்யாதே"</string>
+    <string name="zen_mode_block_effect_peek" msgid="2525844009475266022">"திரையில் அறிவிப்புகளைப் பாப்-அப் செய்யாதே"</string>
     <string name="zen_mode_block_effect_status" msgid="5765965061064691918">"திரையின் மேற்பகுதியில் \'நிலைப் பட்டி\' ஐகான்களை மறை"</string>
     <string name="zen_mode_block_effect_badge" msgid="332151258515152429">"ஆப்ஸ் ஐகான்களில் அறிவிப்புப் புள்ளிகளை மறை"</string>
     <string name="zen_mode_block_effect_ambient" msgid="1247740599476031543">"அறிவிப்புகள் வரும்போது சாதனத்தை எழுப்ப வேண்டாம்"</string>
@@ -3306,7 +3356,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>
@@ -3318,7 +3368,7 @@
     <string name="zen_mode_settings_dnd_automatic_rule" msgid="1958092329238152236">"திட்ட அட்டவணையின் (<xliff:g id="RULE_NAME">%s</xliff:g>) மூலம் ‘தொந்தரவு செய்ய வேண்டாம்’ தானாக ஆன் செய்யப்பட்டது"</string>
     <string name="zen_mode_settings_dnd_automatic_rule_app" msgid="3401685760954156067">"(<xliff:g id="APP_NAME">%s</xliff:g>) ஆப்ஸின் மூலம், ‘தொந்தரவு செய்ய வேண்டாம்’ தானாக ஆன் செய்யப்பட்டது"</string>
     <string name="zen_mode_settings_dnd_custom_settings_footer" msgid="6566115866660865385">"பிரத்தியேக அமைப்புகளுடன் <xliff:g id="RULE_NAMES">%s</xliff:g> என்பதற்குத் \'தொந்தரவு செய்ய வேண்டாம்’ ஆன் நிலையில் உள்ளது."</string>
-    <string name="zen_mode_settings_dnd_custom_settings_footer_link" msgid="2310353944697868606"><annotation id="link">" தனிப்பயன் அமைப்புகளைக் காட்டு"</annotation></string>
+    <string name="zen_mode_settings_dnd_custom_settings_footer_link" msgid="2310353944697868606"><annotation id="link">" பிரத்தியேக அமைப்புகளைக் காட்டு"</annotation></string>
     <string name="zen_interruption_level_priority" msgid="4854123502362861192">"முக்கியமானவை மட்டும்"</string>
     <string name="zen_mode_and_condition" msgid="8580896862841920031">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string>
     <string name="zen_mode_sound_summary_on_with_info" msgid="4803606180235742003">"ஆன் / <xliff:g id="ID_1">%1$s</xliff:g>"</string>
@@ -3336,10 +3386,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>
@@ -3347,7 +3399,7 @@
     <string name="zen_sound_one_allowed" msgid="1050955613144532512">"ஒலியடக்கப்பட்டது, ஆனால் <xliff:g id="SOUND_TYPE">%1$s</xliff:g> அனுமதிக்கப்பட்டுள்ளது"</string>
     <string name="zen_sound_two_allowed" msgid="5150857817893521696">"ஒலியடக்கப்பட்டது, ஆனால் <xliff:g id="SOUND_TYPE_0">%1$s</xliff:g> மற்றும் <xliff:g id="SOUND_TYPE_1">%2$s</xliff:g> அனுமதிக்கப்பட்டுள்ளன"</string>
     <string name="zen_sound_three_allowed" msgid="3770279281597307824">"ஒலியடக்கப்பட்டது, ஆனால் <xliff:g id="SOUND_TYPE_0">%1$s</xliff:g>, <xliff:g id="SOUND_TYPE_1">%2$s</xliff:g> மற்றும் <xliff:g id="SOUND_TYPE_2">%3$s</xliff:g> அனுமதிக்கப்பட்டுள்ளன"</string>
-    <string name="zen_custom_settings_dialog_title" msgid="4613603772432720380">"தனிப்பயன் அமைப்புகள்"</string>
+    <string name="zen_custom_settings_dialog_title" msgid="4613603772432720380">"பிரத்தியேக அமைப்புகள்"</string>
     <string name="zen_custom_settings_dialog_review_schedule" msgid="4674671820584759928">"திட்ட அட்டவணையைச் சரிபார்"</string>
     <string name="zen_custom_settings_dialog_ok" msgid="8842373418878278246">"புரிந்தது"</string>
     <string name="zen_custom_settings_notifications_header" msgid="7635280645171095398">"அறிவிப்புகள்"</string>
@@ -3371,7 +3423,7 @@
     <string name="work_sync_dialog_title" msgid="2359563902332046231">"ஒலிகளை மாற்றியமைக்கவா?"</string>
     <string name="work_sync_dialog_yes" msgid="9161415252411868574">"மாற்று"</string>
     <string name="work_sync_dialog_message" msgid="1328692374812258546">"உங்கள் தனிப்பட்ட சுயவிவர ஒலிகள், உங்கள் பணி விவரத்திற்குப் பயன்படுத்தப்படும்"</string>
-    <string name="ringtones_install_custom_sound_title" msgid="3885712267015760638">"தனிப்பயன் ஒலியைச் சேர்க்கவா?"</string>
+    <string name="ringtones_install_custom_sound_title" msgid="3885712267015760638">"பிரத்தியேக ஒலியைச் சேர்க்கவா?"</string>
     <string name="ringtones_install_custom_sound_content" msgid="5844996763705884979">"இந்தக் கோப்பு, <xliff:g id="FOLDER_NAME">%s</xliff:g> கோப்புறைக்கு நகலெடுக்கப்படும்"</string>
     <string name="ringtones_category_preference_title" msgid="26680768777533727">"ரிங்டோன்கள்"</string>
     <string name="other_sound_category_preference_title" msgid="8182757473602586634">"பிற ஒலிகள் மற்றும் அதிர்வுகள்"</string>
@@ -3383,16 +3435,33 @@
     <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>
+    <!-- no translation found for notification_history_summary (6821337322742231789) -->
+    <skip />
+    <!-- no translation found for notification_history (8663811361243456201) -->
+    <skip />
+    <!-- no translation found for notification_history_turn_on (3298178949776249681) -->
+    <skip />
+    <!-- no translation found for notification_history_turn_off (3141050596252009528) -->
+    <skip />
+    <!-- no translation found for notification_history_off_title_extended (2174043349602912717) -->
+    <skip />
+    <!-- no translation found for notification_history_view_settings (5269317798670449002) -->
+    <skip />
     <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>
+    <!-- no translation found for bubbles_conversation_toggle_summary (7518341992582158610) -->
+    <skip />
     <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>
@@ -3410,6 +3479,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>
@@ -3440,11 +3510,23 @@
     <string name="notification_importance_title" msgid="1545158655988342703">"செயல்பாடு"</string>
     <string name="notification_importance_unspecified" msgid="1543165530748339700">"ஒலியை அனுமதிக்கவும்"</string>
     <string name="notification_importance_blocked" msgid="4933285639639899394">"அறிவிப்புகளை ஒருபோதும் காட்டாது"</string>
+    <!-- no translation found for conversations_category_title (5586541340846847798) -->
+    <skip />
+    <!-- no translation found for conversation_category_title (6777135786004214149) -->
+    <skip />
+    <!-- no translation found for demote_conversation_title (6355383023376508485) -->
+    <skip />
+    <!-- no translation found for demote_conversation_summary (4319929331165604112) -->
+    <skip />
+    <!-- no translation found for promote_conversation_title (4731148769888238722) -->
+    <skip />
+    <!-- no translation found for promote_conversation_summary (3890724115743515035) -->
+    <skip />
     <string name="notification_importance_min" msgid="4609688642942787774">"ஒலியெழுப்பாமல் காண்பித்து, பிறகு சிறிதாக்கு"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"ஒலிக்காமல் காட்டும்"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ஒலியெழுப்பும்"</string>
     <string name="notification_importance_high" msgid="8453789143477210550">"ஒலியெழுப்பி, திரையில் காட்டும்"</string>
-    <string name="notification_importance_high_silent" msgid="8977232884004607985">"திரையில் பாப் அப் செய்யும்"</string>
+    <string name="notification_importance_high_silent" msgid="8977232884004607985">"திரையில் பாப்-அப் செய்யும்"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"சிறிதாக்கு"</string>
     <string name="notification_importance_low_title" msgid="658158049378796947">"நடுத்தர முக்கியத்துவம்"</string>
     <string name="notification_importance_default_title" msgid="8875198696330289686">"அதிக முக்கியத்துவம்"</string>
@@ -3458,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>
@@ -3479,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>
@@ -3540,8 +3623,13 @@
     <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>
+    <!-- no translation found for notification_vibrate_title (1422330728336623351) -->
+    <skip />
     <string name="notification_channel_sound_title" msgid="9018031231387273476">"ஒலி"</string>
+    <!-- no translation found for notification_conversation_important (3502749563429704283) -->
+    <skip />
+    <!-- no translation found for notification_conversation_add_to_home (8136269431130231389) -->
+    <skip />
     <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>
@@ -3555,9 +3643,9 @@
     <string name="zen_mode_delete_rule_confirmation" msgid="6195069346439736688">"\"<xliff:g id="RULE">%1$s</xliff:g>\" விதியை நீக்கவா?"</string>
     <string name="zen_mode_delete_rule_button" msgid="8328729110756882244">"நீக்கு"</string>
     <string name="zen_mode_rule_type_unknown" msgid="7819162569994282316">"தெரியாதது"</string>
-    <string name="zen_mode_app_set_behavior" msgid="4319517270279704677">"இந்த அமைப்புகளை இப்போது மாற்ற முடியாது. தனிப்பயன் செயல்பாட்டின் அடிப்படையில், ஆப்ஸின் (<xliff:g id="APP_NAME">%1$s</xliff:g>) மூலம் ’தொந்தரவு செய்ய வேண்டாம்’ தானாக ஆன் செய்யப்பட்டது."</string>
-    <string name="zen_mode_unknown_app_set_behavior" msgid="8544413884273894104">"இந்த அமைப்புகளை இப்போது மாற்ற முடியாது. தனிப்பயன் செயல்பாட்டின் அடிப்படையில், ஆப்ஸின் மூலம் ’தொந்தரவு செய்ய வேண்டாம்’ தானாக ஆன் செய்யப்பட்டது."</string>
-    <string name="zen_mode_qs_set_behavior" msgid="3805244555649172848">"இந்த அமைப்புகளை இப்போது மாற்ற முடியாது. தனிப்பயன் செயல்பாட்டின் அடிப்படையில் ’தொந்தரவு செய்ய வேண்டாம்’ கைமுறையாக ஆன் செய்யப்பட்டது."</string>
+    <string name="zen_mode_app_set_behavior" msgid="4319517270279704677">"இந்த அமைப்புகளை இப்போது மாற்ற முடியாது. பிரத்தியேக செயல்பாட்டின் அடிப்படையில், ஆப்ஸின் (<xliff:g id="APP_NAME">%1$s</xliff:g>) மூலம் ’தொந்தரவு செய்ய வேண்டாம்’ தானாக ஆன் செய்யப்பட்டது."</string>
+    <string name="zen_mode_unknown_app_set_behavior" msgid="8544413884273894104">"இந்த அமைப்புகளை இப்போது மாற்ற முடியாது. பிரத்தியேக செயல்பாட்டின் அடிப்படையில், ஆப்ஸின் மூலம் ’தொந்தரவு செய்ய வேண்டாம்’ தானாக ஆன் செய்யப்பட்டது."</string>
+    <string name="zen_mode_qs_set_behavior" msgid="3805244555649172848">"இந்த அமைப்புகளை இப்போது மாற்ற முடியாது. பிரத்தியேக செயல்பாட்டின் அடிப்படையில் ’தொந்தரவு செய்ய வேண்டாம்’ கைமுறையாக ஆன் செய்யப்பட்டது."</string>
     <string name="zen_schedule_rule_type_name" msgid="8071428540221112090">"நேரம்"</string>
     <string name="zen_schedule_rule_enabled_toast" msgid="6534402316741678208">"குறிப்பிட்ட நேரங்களில் தொந்தரவு செய்ய வேண்டாம் என்பதை இயக்கும் தானியங்கு விதி"</string>
     <string name="zen_event_rule_type_name" msgid="1921166617081971754">"நிகழ்வு"</string>
@@ -3595,6 +3683,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>
@@ -3608,16 +3700,21 @@
     <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_bypassing_apps" msgid="625309443389126481">"ஆப்ஸை மேலெழுத அனுமதிக்கின்றன"</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">
       <item quantity="other">‘தொந்தரவு செய்ய வேண்டாம்’ அம்சம் ஆன் செய்யப்பட்டிருந்தாலும் <xliff:g id="NUMBER">%1$d</xliff:g> ஆப்ஸில் இருந்து அறிவிப்புகள் வரும்</item>
@@ -3653,12 +3750,13 @@
     <string name="zen_mode_summary_alarms_only_by_time" msgid="8140619669703968810">"<xliff:g id="FORMATTEDTIME">%1$s</xliff:g> வரை அலாரங்கள் மட்டும் என மாற்று"</string>
     <string name="zen_mode_summary_always" msgid="722093064250082317">"எப்போதும் குறுக்கிடு என மாற்று"</string>
     <string name="zen_mode_screen_on" msgid="7312758100468915319">"திரை ஆன் செய்யப்பட்டிருக்கும்போது"</string>
-    <string name="zen_mode_screen_on_summary" msgid="510055058460316698">"\'தொந்தரவு செய்ய வேண்டாம்\' மூலம் ஒலியடக்கப்பட்ட அறிவிப்புகள் வரும்போது, திரையில் பாப் அப் ஆவதுடன், நிலைப்பட்டி ஐகானைக் காட்டும்"</string>
+    <string name="zen_mode_screen_on_summary" msgid="510055058460316698">"\'தொந்தரவு செய்ய வேண்டாம்\' மூலம் ஒலியடக்கப்பட்ட அறிவிப்புகள் வரும்போது, திரையில் பாப்-அப் ஆவதுடன், நிலைப்பட்டி ஐகானைக் காட்டும்"</string>
     <string name="zen_mode_screen_off" msgid="7069798697669366075">"திரை ஆஃப் செய்யப்பட்டிருக்கும்போது"</string>
     <string name="zen_mode_screen_off_summary" msgid="4698018253505406152">"’தொந்தரவு செய்ய வேண்டாம்’ அம்சத்தின் மூலம் ஒலியடக்கப்பட்ட அறிவிப்புகள் வரும்போது, திரை ஆன் செய்யப்பட்டு, ஒளியை மிளிரச் செய்யட்டும்"</string>
     <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>
@@ -3743,8 +3841,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 +3852,8 @@
     <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>
+    <!-- no translation found for app_permissions_summary_more (6247952473615352350) -->
+    <skip />
     <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>
@@ -4137,20 +4245,16 @@
     <string name="notification_log_details_actions" msgid="2269605330470905236">"செயல்கள்"</string>
     <string name="notification_log_details_title" msgid="8365761340979164197">"தலைப்பு"</string>
     <string name="notification_log_details_remoteinput" msgid="264204203044885921">"ரிமோட் இன்புட்கள்"</string>
-    <string name="notification_log_details_content_view" msgid="7193602999512479112">"தனிப்பயன் காட்சி"</string>
+    <string name="notification_log_details_content_view" msgid="7193602999512479112">"பிரத்தியேகக் காட்சி"</string>
     <string name="notification_log_details_extras" msgid="8602887256103970989">"மற்றவை"</string>
     <string name="notification_log_details_icon" msgid="6728710746466389675">"ஐகான்"</string>
     <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">"மொபைல் திரையில் அறிவிப்புகளைப் பார்க்க, இருமுறை தட்டவும்"</string>
     <string name="ambient_display_title" product="tablet" msgid="205744440641466921">"டேப்லெட் திரையில் அறிவிப்புகளைப் பார்க்க, இருமுறை தட்டவும்"</string>
     <string name="ambient_display_title" product="device" msgid="4164103424628824786">"சாதனத் திரையில் அறிவிப்புகளைப் பார்க்க, இருமுறை தட்டவும்"</string>
@@ -4405,20 +4513,33 @@
     <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) -->
+    <!-- no translation found for graphics_driver_dashboard_title (5661084817492587796) -->
+    <skip />
+    <!-- no translation found for graphics_driver_dashboard_summary (6348759885315793654) -->
+    <skip />
+    <!-- no translation found for graphics_driver_footer_text (5123754522284046790) -->
+    <skip />
+    <!-- no translation found for graphics_driver_all_apps_preference_title (1343065382898127360) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_title (3133255818657706857) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_default (764432460281859855) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_game_driver (3115277644656023504) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_prerelease_driver (5389656885733341448) -->
+    <skip />
+    <!-- no translation found for graphics_driver_app_preference_system (3754748149113184126) -->
+    <skip />
+    <!-- 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_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) -->
+    <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>
@@ -4582,7 +4703,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 +4711,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,7 +4722,9 @@
     <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="hwui_force_dark_title" msgid="4256904905631994219">"force-dark அம்சத்தை மேலெழுதுதல்"</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>
     <string name="privacy_dashboard_summary" msgid="5775090172422786808">"அனுமதிகள், கணக்குச் செயல்பாடு, தனிப்பட்ட தரவு"</string>
@@ -4668,6 +4787,13 @@
     <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>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 07af95f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"ఏదీ వద్దు"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"ఏమీ లేవు"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"ఏదీ వద్దు"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 a6a2c46..38d8dfb 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"దృశ్యమానత గడువు సమయం ముగింపు"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"వాయిస్ డయలింగ్‌ను లాక్ చేయి"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"స్కీన్ లాక్ చేయబడినప్పుడు బ్లూటూత్ డయలర్‌‌ను ఉపయోగించకుండా నిరోధించు"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"బ్లూటూత్ పరికరాలు"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"పరికరం పేరు"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"పరికర సెట్టింగ్‌లు"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"ప్రొఫైల్ సెట్టింగ్‌లు"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"హాట్‌స్పాట్ ఆన్"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"టెథెరింగ్"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"డేటా సేవర్ ఆన్‌లో ఉన్నప్పుడు టీథర్ చేయలేరు లేదా పోర్టబుల్ హాట్‌స్పాట్‌లను ఉపయోగించలేరు"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"ఆటో క్లిక్ టైం"</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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"మీ యాప్‌లు సాధారణ స్థాయిలో బ్యాటరీను వినియోగిస్తున్నాయి. యాప్‌లు చాలా ఎక్కువ బ్యాటరీని వినియోగిస్తున్నట్లయితే, మీ పరికరం, మీరు తీసుకోగల చర్యలను సూచిస్తుంది. \n\nమీరు తక్కువ బ్యాటరీను కలిగి ఉంటే, ఎప్పుడైనా మీరు బ్యాటరీ సేవర్‌ను ఆన్ చేయవచ్చు."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"బ్యాటరీ మేనేజర్"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"యాప్‌లను ఆటోమేటిక్‌గా నిర్వహించండి"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"మీరు తరచుగా ఉపయోగించని యాప్‌ల కోసం బ్యాటరీని పరిమితం చేయండి"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"యాప్‌లు బ్యాటరీ శక్తిని హరిస్తున్నయని బ్యాటరీ మేనేజర్ గుర్తించినప్పుడు, ఈ యాప్‌లను పరిమితం చేసే ఎంపిక మీకు ఉంటుంది. పరిమితం చేయబడిన యాప్‌లు సరిగ్గా పనిచేయకపోవచ్చు మరియు నోటిఫికేషన్‌లు రావడానికి ఆలస్యం కావచ్చు."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"యాప్‌లు బ్యాటరీ శక్తిని హరిస్తున్నయని బ్యాటరీ మేనేజర్ గుర్తించినప్పుడు, ఈ యాప్‌లను పరిమితం చేసే ఎంపిక మీకు ఉంటుంది. పరిమితం చేయబడిన యాప్‌లు సరిగ్గా పనిచేయకపోవచ్చు మరియు నోటిఫికేషన్‌లు రావడానికి ఆలస్యం కావచ్చు."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"యాప్‌లు బ్యాటరీ శక్తిని హరిస్తున్నయని బ్యాటరీ మేనేజర్ గుర్తించినప్పుడు, ఈ యాప్‌లను పరిమితం చేసే ఎంపిక మీకు ఉంటుంది. పరిమితం చేయబడిన యాప్‌లు సరిగ్గా పనిచేయకపోవచ్చు మరియు నోటిఫికేషన్‌లు రావడానికి ఆలస్యం కావచ్చు."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"మీరు తరచుగా ఉపయోగించని యాప్‌ల కోసం బ్యాటరీని పరిమితం చేయండి"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"యాప్‌లు బ్యాటరీ శక్తిని హరిస్తున్నయని బ్యాటరీ మేనేజర్ గుర్తించినప్పుడు, ఈ యాప్‌లను పరిమితం చేసే ఎంపిక మీకు ఉంటుంది. పరిమితం చేయబడిన యాప్‌లు సరిగ్గా పనిచేయకపోవచ్చు మరియు నోటిఫికేషన్‌లు రావడానికి ఆలస్యం కావచ్చు."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"నియంత్రించబడిన యాప్‌లు"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d యాప్‌ల కోసం బ్యాటరీ వినియోగాన్ని పరిమితం చేయడం</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"ఈ యాప్‌లు నేపథ్యంలో బ్యాటరీని ఉపయోగిస్తున్నాయి. పరిమితం చేయబడిన యాప్‌లు సరిగా పనిచేయకపోవచ్చు మరియు నోటిఫికేషన్‌లు రావడానికి ఆలస్యం కావచ్చు."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"బ్యాటరీ మేనేజర్‌ను ఉపయోగించండి"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"యాప్‌లు బ్యాటరీ శక్తిని హరిస్తున్నప్పుడు గుర్తించండి"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"యాప్‌లు బ్యాటరీ శక్తిని హరిస్తున్నప్పుడు తెలియజేయడం ఆన్‌లో ఉంది / గుర్తిస్తోంది"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"యాప్‌లు బ్యాటరీ శక్తిని హరిస్తున్నప్పుడు తెలియజేయడం ఆన్‌లో ఉంది / గుర్తిస్తోంది"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ఆఫ్"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d యాప్‌లు పరిమితం చేయబడ్డాయి</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ఈ వినియోగదారు కోసం ఆధారాలు అందుబాటులో లేవు"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN మరియు అనువర్తనాల కోసం ఇన్‌స్టాల్ చేయబడింది"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi కోసం ఇన్‌స్టాల్ చేయబడింది"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"యాప్ ఇన్‌స్టాల్ చేసే మూలాధారాన్ని ధృవీకరించడం కోసం ఇన్‌స్టాల్ చేయబడింది"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"అన్ని కంటెంట్‌లను తీసివేయాలా?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"యాప్ మూలాధార సర్టిఫికెట్"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ఈ సర్టిఫికెట్‌ను స్వంత బాధ్యతపై ఇన్‌స్టాల్ చేయాలి"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"యాప్‌ల మూలాధార సర్టిఫికెట్ లు, యాప్‌లు మీ పరికరానికి సురక్షితమైనవో కాదో ధృవీకరిస్తాయి. మీకు నమ్మకం ఉన్న సంస్థల నుండి మాత్రమే సర్టిఫికెట్‌లను ఇన్‌స్టాల్ చేయండి."</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ఒక వినియోగదారు సర్టిఫికెట్"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"ఒక CA సర్టిఫికెట్"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA ప్రమాణపత్రాలు"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ఒక యాప్ మూలాధార సర్టిఫికెట్"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"ఆధార వివరాలు"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"తీసివేయబడిన ఆధారం: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"వినియోగదారు ఆధారాలు ఇన్‌స్టాల్ చేయబడలేదు"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"సర్టిఫికెట్‌ను వాడడానికి రీస్టార్ట్ చేయండి"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"ఈ యాప్ మూలాధార సర్టిఫికెట్‌ను ఉపయోగించడానికి మీరు మీ పరికరాన్ని రీస్టార్ట్ చేయవలసి ఉంటుంది"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"అన్‌ఇన్‌స్టాల్ ముగింపునకు రీస్టార్ట్ చేయండి"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"ఈ యాప్ మూలాధార సర్టిఫికెట్‌ను అన్‌ఇన్‌స్టాల్ చేయడానికి మీరు మీ పరికరాన్ని రీస్టార్ట్ చేయవలసి ఉంటుంది"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"రీస్టార్ట్ చేయి"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ఇప్పుడు కాదు"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"స్పెల్‌ చెక‌ర్‌"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"ఆఫీసు ప్రొఫైల్ కోసం అక్షరక్రమ తనిఖీ"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"మీ ప్రస్తుత పూర్తి బ్యాకప్ పాస్‌వర్డ్‌ను ఇక్కడ టైప్ చేయండి"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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>
@@ -3120,6 +3156,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>
@@ -3130,13 +3167,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>
@@ -3160,7 +3198,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>
@@ -3198,6 +3236,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>
@@ -3207,18 +3246,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>
@@ -3226,6 +3266,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>
@@ -3249,6 +3292,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>
@@ -3275,7 +3319,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>
@@ -3306,7 +3350,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>
@@ -3336,10 +3380,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>
@@ -3383,16 +3429,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>
@@ -3410,6 +3466,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>
@@ -3440,6 +3497,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"నిశ్శబ్దంగా చూపించు మరియు కనిష్టీకరించండి"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"నిశ్శబ్దంగా చూపు"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"శబ్దం చేయి"</string>
@@ -3458,7 +3521,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>
@@ -3479,6 +3542,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>
@@ -3540,8 +3604,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>
@@ -3595,6 +3661,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>
@@ -3608,15 +3678,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">
@@ -3659,6 +3734,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>
@@ -3745,8 +3821,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>
@@ -3758,6 +3832,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>
@@ -3769,9 +3844,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>
@@ -3915,8 +3995,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>
@@ -4082,6 +4165,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>
@@ -4145,14 +4230,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>
@@ -4241,8 +4322,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>
@@ -4407,20 +4492,24 @@
     <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="5389656885733341448">"ప్రీరిలీజ్ డ్రైవర్"</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_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) -->
+    <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>
@@ -4584,7 +4673,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>
@@ -4593,11 +4681,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>
@@ -4607,6 +4692,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>
@@ -4670,6 +4757,13 @@
     <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>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index 57ef813..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"ไม่มี"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"ไม่มี"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"ไม่มี"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 1887d12..f342b47 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"ระยะหมดเวลาการมองเห็น"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"ล็อกการโทรด้วยเสียง"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"ป้องกันการใช้โปรแกรมโทรออกผ่านบลูทูธเมื่อล็อกหน้าจอไว้"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"อุปกรณ์บลูทูธ"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"ชื่ออุปกรณ์"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"การตั้งค่าอุปกรณ์"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"การตั้งค่าโปรไฟล์"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"เวลาในการคลิกอัตโนมัติ"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"แอปกำลังใช้แบตเตอรี่ตามปกติ หากแอปใช้แบตเตอรี่มากเกินไป อุปกรณ์จะแนะนำการดำเนินการที่คุณทำได้\n\nคุณเปิดโหมดประหยัดแบตเตอรี่ได้ทุกเมื่อหากแบตเตอรี่เหลือน้อย"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ตัวจัดการแบตเตอรี่"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"จัดการแอปโดยอัตโนมัติ"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ประหยัดการใช้งานแบตเตอรี่สำหรับแอปที่ใช้ไม่บ่อย"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"เมื่อตัวจัดการแบตเตอรี่ตรวจพบว่าแอปทำให้แบตเตอรี่หมดเร็ว คุณจะมีตัวเลือกในการจำกัดแอปเหล่านี้ แอปที่ถูกจำกัดอาจไม่ทำงานตามปกติและการแจ้งเตือนอาจล่าช้า"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"เมื่อตัวจัดการแบตเตอรี่ตรวจพบว่าแอปทำให้แบตเตอรี่หมดเร็ว คุณจะมีตัวเลือกในการจำกัดแอปเหล่านี้ แอปที่ถูกจำกัดอาจไม่ทำงานตามปกติและการแจ้งเตือนอาจล่าช้า"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"เมื่อตัวจัดการแบตเตอรี่ตรวจพบว่าแอปทำให้แบตเตอรี่หมดเร็ว คุณจะมีตัวเลือกในการจำกัดแอปเหล่านี้ แอปที่ถูกจำกัดอาจไม่ทำงานตามปกติและการแจ้งเตือนอาจล่าช้า"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ประหยัดการใช้งานแบตเตอรี่สำหรับแอปที่ใช้ไม่บ่อย"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"เมื่อตัวจัดการแบตเตอรี่ตรวจพบว่าแอปทำให้แบตเตอรี่หมดเร็ว คุณจะมีตัวเลือกในการจำกัดแอปเหล่านี้ แอปที่ถูกจำกัดอาจไม่ทำงานตามปกติและการแจ้งเตือนอาจล่าช้า"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"แอปที่ถูกจำกัด"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">การจำกัดการใช้งานแบตเตอรี่ของแอป %1$d</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"แอปเหล่านี้ใช้งานแบตเตอรี่ในพื้นหลัง แอปที่ถูกจำกัดอาจไม่ทำงานตามปกติและการแจ้งเตือนอาจล่าช้า"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"ใช้ตัวจัดการแบตเตอรี่"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"ตรวจจับเมื่อแอปทำให้แบตเตอรี่หมดเร็ว"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"เปิด/ตรวจจับเมื่อแอปทำให้แบตเตอรี่หมดเร็ว"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"เปิด/ตรวจจับเมื่อแอปทำให้แบตเตอรี่หมดเร็ว"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"ปิด"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">จำกัดแอป %1$d แอป</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"ข้อมูลรับรองไม่พร้อมใช้งานสำหรับผู้ใช้รายนี้"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"ติดตั้งแล้วสำหรับ VPN และแอป"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"ติดตั้งแล้วสำหรับ Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ติดตั้งแล้วสำหรับการยืนยันแหล่งที่มาของการติดตั้งแอป"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"ลบเนื้อหาทั้งหมดหรือไม่"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ใบรับรองแหล่งที่มาของแอป"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"ติดตั้งใบรับรองนี้โดยยอมรับความเสี่ยงของคุณเอง"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"ใบรับรองแหล่งที่มาของแอปช่วยยืนยันว่าแอปปลอดภัยสำหรับอุปกรณ์ของคุณ โปรดติดตั้งใบรับรองจากองค์กรที่คุณไว้วางใจเท่านั้น"</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ใบรับรองสำหรับผู้ใช้ 1 ราย"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"1 ใบรับรอง CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d ใบรับรอง CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ใบรับรองแหล่งที่มาของแอป 1 รายการ"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"รายละเอียดข้อมูลรับรอง"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"ข้อมูลรับรองที่นำออก: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"ไม่ได้ติดตั้งข้อมูลรับรองของผู้ใช้"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"รีสตาร์ทเพื่อใช้ใบรับรอง"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"คุณต้องรีสตาร์ทอุปกรณ์เพื่อใช้ใบรับรองแหล่งที่มาของแอปนี้"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"รีสตาร์ทเพื่อถอนการติดตั้งให้เสร็จ"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"คุณต้องรีสตาร์ทอุปกรณ์เพื่อถอนการติดตั้งใบรับรองแหล่งที่มาของแอปนี้"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"รีสตาร์ท"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ไว้ทีหลัง"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"โปรแกรมตรวจตัวสะกด"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"โปรแกรมตรวจตัวสะกดสำหรับการทำงาน"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"ป้อนรหัสผ่านปัจจุบันสำหรับการสำรองข้อมูลเต็มรูปแบบที่นี่"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"แสดงโดยไม่ส่งเสียงและย่อเล็กสุด"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"แสดงโดยไม่ส่งเสียง"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"ส่งเสียง"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"ไดรเวอร์การเผยแพร่ล่วงหน้า"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index 19490cf..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Wala"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Wala"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Wala"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 2ff35a2..950d156 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Timeout ng visibility"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"I-lock ang pag-dial gamit ang boses"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Iwasan ang paggamit ng taga-dial ng bluetooth kapag naka-lock ang screen"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Mga device ng bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Pangalan ng device"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Mga setting ng device"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Mga setting ng profile"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Karaniwan lang ang paggamit ng baterya ng iyong mga app. Kung masyadong malakas gumamit ng baterya ang mga app, magmumungkahi ang iyong device ng mga aksyong puwede mong gawin.\n\nPuwede mong i-on ang Pangtipid sa Baterya anumang oras kung paubos na ang baterya mo."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Awtomatikong pamahalaan ang mga app"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Limitahan ang baterya para sa mga app na hindi mo madalas gamitin"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Kapag natutukoy ng Battery Manager na umuubos ng baterya ang mga app, magkakaroon ka ng opsyon na paghigpitan ang mga app na ito. Maaaring hindi gumana nang maayos ang mga pinaghihigpitang app at maaaring maantala ang mga notification."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Kapag natutukoy ng Battery Manager na umuubos ng baterya ang mga app, magkakaroon ka ng opsyon na paghigpitan ang mga app na ito. Maaaring hindi gumana nang maayos ang mga pinaghihigpitang app at maaaring maantala ang mga notification."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Kapag natutukoy ng Battery Manager na umuubos ng baterya ang mga app, magkakaroon ka ng opsyon na paghigpitan ang mga app na ito. Maaaring hindi gumana nang maayos ang mga pinaghihigpitang app at maaaring maantala ang mga notification."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Limitahan ang baterya para sa mga app na hindi mo madalas gamitin"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Kapag natutukoy ng Battery Manager na umuubos ng baterya ang mga app, magkakaroon ka ng opsyon na paghigpitan ang mga app na ito. Maaaring hindi gumana nang maayos ang mga pinaghihigpitang app at maaaring maantala ang mga notification."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Mga pinaghihigpitang app"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Paglimita sa paggamit ng baterya para sa %1$d app</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Ginagamit ng mga app na ito ang baterya sa background. Maaaring hindi gumana nang maayos ang mga pinaghihigpitang app at maaaring maantala ang mga notification."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Gumamit ng Battery Manager"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Tukuyin kapag umuubos ng baterya ang mga app"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Naka-on / Tinutukoy kapag umuubos ng baterya ang mga app"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Naka-on / Tinutukoy kapag umuubos ng baterya ang mga app"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Naka-off"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d pinaghihigpitang app</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Hindi available ang mga kredensyal para sa user na ito"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Na-install para sa VPN at mga app"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Na-install para sa Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Na-install para sa pag-verify ng source ng pag-install ng app"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Alisin ang lahat ng content"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Certificate ng App Source"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Ikaw ang mananagot sa pag-install ng certificate"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Vine-verify ng mga certificate ng App source na ligtas ang mga app para sa iyong device. Mag-install lang ng mga certificate na mula sa mga organisasyong pinagkakatiwalaan mo."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"isang certificate ng user"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"isang CA certficate"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d (na) CA certificate"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"isang certificate ng App Source"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Mga detalye ng kredensyal"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Inalis na kredensyal: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Walang naka-install na kredensyal ng user"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Mag-restart para magamit ang certificate"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Para gamitin ang certificate ng app source na ito, kailangan mong i-restart ang iyong device"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Mag-restart para matapos ang pag-uninstall"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Para i-uninstall ang certificate ng app source na ito, kailangan mong i-restart ang iyong device"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"I-restart"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Hindi ngayon"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Spell checker"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Spell checker para sa trabaho"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"I-type ang iyong kasalukuyang buong backup na password dito"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Prerelease na 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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 018249f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Yok"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Yok"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GT"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Yok"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 c60d9aa..639823c 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Görünürlük zaman aşımı"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Sesli aramayı kilitle"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Ekran kilitliyken blutooth çeviricinin kullanımını engelle"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth cihazlar"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Cihaz adı"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Cihaz ayarları"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profil ayarları"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Uygulamalarınız normal miktarda pil kullanıyor. Uygulamalar çok fazla pil kullanırsa cihazınız size bazı önerilerde bulunacaktır.\n\nPiliniz azaldığında her zaman Pil Tasarrufu\'nu açabilirsiniz."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Pil Yöneticisi"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Uygulamaları otomatik olarak yönet"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Sık kullanmadığınız uygulamalar için pil tüketimini sınırlar"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Pil Yöneticisi uygulamaların pili çok harcadığını algıladığında, bu uygulamaları kısıtlama seçeneğiniz olacaktır. Kısıtlanmış uygulamalar düzgün bir şekilde çalışmayabilir ve bildirimlerinde gecikme olabilir."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Pil Yöneticisi uygulamaların pili çok harcadığını algıladığında, bu uygulamaları kısıtlama seçeneğiniz olacaktır. Kısıtlanmış uygulamalar düzgün bir şekilde çalışmayabilir ve bildirimlerinde gecikme olabilir."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Pil Yöneticisi uygulamaların pili çok harcadığını algıladığında, bu uygulamaları kısıtlama seçeneğiniz olacaktır. Kısıtlanmış uygulamalar düzgün bir şekilde çalışmayabilir ve bildirimlerinde gecikme olabilir."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Sık kullanmadığınız uygulamalar için pil tüketimini sınırlar"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Pil Yöneticisi uygulamaların pili çok harcadığını algıladığında, bu uygulamaları kısıtlama seçeneğiniz olacaktır. Kısıtlanmış uygulamalar düzgün bir şekilde çalışmayabilir ve bildirimlerinde gecikme olabilir."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Kısıtlı uygulamalar"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d uygulama için pil kullanımı sınırlanıyor</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Bu uygulamalar arka planda pil kullanıyor. Kısıtlanmış uygulamalar düzgün çalışmayabilir ve bildirimlerde gecikme olabilir."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Pil Yöneticisi\'ni kullan"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Uygulamalar pili çok harcadığında algıla"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Açık / Uygulamalar pili çok harcadığında algılanır"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Açık / Uygulamalar pili çok harcadığında algılanır"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Kapalı"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d uygulama kısıtlandı</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Bu kullanıcı için kimlik bilgileri kullanılamıyor"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN ve uygulamalar için yüklendi"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Kablosuz bağlantı için yüklendi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Uygulama yükleme kaynağının doğrulanması için yüklendi"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Tüm içerik kaldırılsın mı?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Uygulama Kaynağı 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Bu sertifikayı, sorumluluğu sizde olarak yükleyin"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Uygulama kaynağı sertifikaları uygulamaların cihazınız için güvenliği olduğunu doğrular. Yalnızca güvendiğiniz kuruluşların sertifikalarını yükleyin."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"bir kullanıcı sertifikası"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"bir CA sertifikası"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA sertifikası"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"bir Uygulama Kaynağı sertifikası"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Kimlik bilgileri ayrıntıları"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Kimlik bilgileri kaldırıldı: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Kullanıcı kimlik bilgileri yüklü değil"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Sertifikayı kullanmak için yeniden başlatın"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Bu uygulama kaynağı sertifikasını kullanmak için cihazınızı yeniden başlatmanız gerekiyor"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Kaldırmayı tamamlamak için yeniden başlatın"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Bu uygulama kaynağı sertifikasının yüklemesini kaldırmak için cihazınızı yeniden başlatmanız gerekiyor"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Yeniden başlat"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Şimdi değil"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Yazım denetleyici"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"İş için yazım denetleyici"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Buraya, mevcut tam yedekleme şifrenizi yazın"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Yayın Öncesi Sürücü"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index e7060c0..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Нічого"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Немає"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Немає"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 3d4cb1d..9b4ce27 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>
@@ -101,7 +68,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Час видимості"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Заблок. голос. набір"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Запобігає використанню набору bluetooth, коли екран заблоковано"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Пристрої Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Назва пристрою"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Налаштування пристрою"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Налаштування профілю"</string>
@@ -176,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>
@@ -211,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">"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 +219,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 +237,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 +244,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 +287,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 +318,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 +631,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 +673,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>
@@ -872,16 +799,19 @@
     <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 +885,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 +896,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 +904,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>
@@ -998,12 +930,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 +950,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 +970,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 +1028,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 +1081,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 +1090,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 +1127,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 +1263,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 +1286,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 +1377,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 +1404,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 +1617,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 +1667,9 @@
     <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="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 +1762,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 +1770,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>
@@ -1941,7 +1905,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 +2105,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 +2113,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 +2182,41 @@
     <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="2370077188725433271">"Час автоматичного натискання"</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_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 +2230,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>
@@ -2464,10 +2482,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Додатки використовують звичайний обсяг заряду акумулятора. Якщо вони споживатимуть забагато енергії, пристрій запропонує відповідні дії.\n\nВи завжди можете ввімкнути режим економії заряду акумулятора."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Диспетчер заряду акумулятора"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Керувати додатками автоматично"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Обмежте споживання заряду акумулятора для додатків, які рідко використовуються"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Коли диспетчер заряду виявляє додатки, які швидко розряджають акумулятор, ви можете обмежити їх. Можливо, додатки працюватимуть неналежним чином, а сповіщення надходитимуть із затримкою."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Коли диспетчер заряду виявляє додатки, які швидко розряджають акумулятор, ви можете обмежити їх. Можливо, додатки працюватимуть неналежним чином, а сповіщення надходитимуть із затримкою."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Коли диспетчер заряду виявляє додатки, які швидко розряджають акумулятор, ви можете обмежити їх. Можливо, додатки працюватимуть неналежним чином, а сповіщення надходитимуть із затримкою."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Обмежте споживання заряду акумулятора для додатків, які рідко використовуються"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Коли диспетчер заряду виявляє додатки, які швидко розряджають акумулятор, ви можете обмежити їх. Можливо, додатки працюватимуть неналежним чином, а сповіщення надходитимуть із затримкою."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Обмежені додатки"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Обмежується споживання заряду акумулятора для %1$d додатка</item>
@@ -2479,7 +2495,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Ці додатки споживали заряд акумулятора у фоновому режимі. Якщо ви їх обмежите, можливо, вони працюватимуть неналежним чином, а сповіщення надходитимуть із затримкою."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Використовувати диспетчер заряду акумулятора"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Виявляти, коли додатки швидко розряджають акумулятор"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Увімкнено / Виявляється, коли додатки швидко розряджають акумулятор"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Увімкнено / Виявляється, коли додатки швидко розряджають акумулятор"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Вимкнено"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d додаток обмежено</item>
@@ -2589,7 +2605,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>
@@ -2670,8 +2685,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>
@@ -2687,10 +2701,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Облікові дані недоступні для цього користувача"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Установлено для мережі VPN і додатків"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Установлено для мережі Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Установлено для перевірки джерела завантаження додатків"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Видалити весь вміст?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Сертифікат джерела додатків"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Ви встановлюєте цей сертифікат на власний ризик"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Сертифікати джерел підтверджуватимуть безпечність додатків для вашого пристрою. Встановлюйте сертифікати лише тих організацій, яким довіряєте."</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>
@@ -2718,10 +2744,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>
@@ -2735,6 +2757,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>
@@ -2967,9 +2999,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"один сертифікат користувача"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"один сертифікат ЦС"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"сертифікатів ЦС: %d"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"один сертифікат джерела додатків"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Облікові дані"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Вилучені облікові дані: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Немає встановлених облікових даних користувача"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Тепер потрібно перезапустити пристрій"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Щоб використовувати цей сертифікат джерела додатків, перезапустіть пристрій"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Перезапустіть пристрій, щоб завершити"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Щоб видалити цей сертифікат джерела додатків, перезапустіть пристрій"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Перезапустити"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Не зараз"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Перевірка правопису"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Перевірка правопису для роботи"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Введіть поточний пароль"</string>
@@ -3092,7 +3131,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>
@@ -3161,7 +3199,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 +3208,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>
@@ -3184,7 +3222,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>
@@ -3204,6 +3241,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 +3252,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 +3283,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>
@@ -3282,6 +3321,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 +3331,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 +3351,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 +3379,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>
@@ -3361,7 +3406,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 +3437,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 +3471,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>
@@ -3473,16 +3520,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 +3557,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 +3588,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"Показувати без звуку та в згорнутому вигляді"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"Показувати без звукового сигналу"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"Зі звуком"</string>
@@ -3548,7 +3612,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>
@@ -3575,6 +3639,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 +3707,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 +3766,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>
@@ -3712,15 +3783,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 +3845,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>
@@ -3861,8 +3938,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 +3949,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 +3963,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>
@@ -4039,8 +4122,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 +4302,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>
@@ -4281,14 +4369,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 +4469,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>
@@ -4565,20 +4653,24 @@
     <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="5389656885733341448">"Попередня версія драйвера"</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_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) -->
+    <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>
@@ -4744,7 +4836,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>
@@ -4753,13 +4844,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>
@@ -4769,6 +4855,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>
@@ -4838,6 +4926,13 @@
     <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>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index 879318b..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"کوئی نہیں"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"کوئی نہیں"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'‎"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'‎"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"کوئی نہیں"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 9da29a8..c8e76f8 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"مرئیت کا ٹائم آؤٹ"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"صوتی ڈائلنگ مقفل کریں"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"اسکرین مقفل ہونے پر بلوٹوتھ ڈائلر کے استعمال کو روکیں"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"بلوٹوتھ آلات"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"آلہ کا نام"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"آلہ کی ترتیبات"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"پروفائل کی ترتیبات"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,12 @@
     <string name="tether_settings_summary_hotspot_on_tether_off" msgid="5057598961245943644">"ہاٹ اسپاٹ آن ہے"</string>
     <string name="tether_settings_summary_hotspot_off_tether_on" msgid="7181518138494995888">"ٹیدرنگ"</string>
     <string name="tether_settings_disabled_on_data_saver" msgid="9054069463426952689">"ڈیٹا سیور آن ہوتے ہوئے ربط نہیں بنایا جا سکتا یا پورٹیبل ہاٹ اسپاٹس استعمال نہیں ہو سکتے"</string>
+    <!-- no translation found for disable_wifi_hotspot_when_usb_on (220439059794714583) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_bluetooth_on (4711723299880116345) -->
+    <skip />
+    <!-- no translation found for disable_wifi_hotspot_when_usb_and_bluetooth_on (5258774769658150180) -->
+    <skip />
     <string name="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 +1721,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 +1729,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>
@@ -1897,7 +1862,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 +2062,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 +2070,53 @@
     <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>
+    <!-- no translation found for accessibility_screen_magnification_summary (7617931632990040045) -->
+    <skip />
+    <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 +2140,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>
+    <!-- no translation found for accessibility_display_inversion_preference_subtitle (7230891925207955620) -->
+    <skip />
+    <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="2370077188725433271">"خودکار کلک کا وقت"</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_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 +2187,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>
@@ -2394,10 +2413,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"آپ کی ایپس حسب معمول مقدار میں بیٹری استعمال کر رہی ہیں۔ اگر ایپس بہت زیادہ بیٹری استعمال کرتی ہیں تو آپ کا آلہ ایسے اقدامات کی تجویز پیش کرے گا جو آپ کر سکتے ہیں۔\n\nاگر آپ کی بیٹری کم ہو رہی ہے تو آپ ہمیشہ بیٹری سیور آن کر سکتے ہیں۔"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"بیٹری مینیجر"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"خودکار طور پر ایپس کا نظم کریں"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"ان ایپس کیلئے بیٹری کو محدود کریں جنہیں آپ اکثر استعمال نہیں کرتے ہیں"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"جب بیٹری مینیجر اس بات کا پتہ لگاتا ہے کہ ایپس بیٹری ختم کر رہی ہیں، تو آپ کو ان ایپس کو محدود کرنے کا اختیار دیا جائے گا۔ ہو سکتا ہے محدود کردہ ایپس ٹھیک طرح سے کام نہ کریں اور اطلاعات میں تاخیر ہو۔"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"جب بیٹری مینیجر اس بات کا پتہ لگاتا ہے کہ ایپس بیٹری ختم کر رہی ہیں، تو آپ کو ان ایپس کو محدود کرنے کا اختیار دیا جائے گا۔ ہو سکتا ہے محدود کردہ ایپس ٹھیک طرح سے کام نہ کریں اور اطلاعات میں تاخیر ہو۔"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"جب بیٹری مینیجر اس بات کا پتہ لگاتا ہے کہ ایپس بیٹری ختم کر رہی ہیں، تو آپ کو ان ایپس کو محدود کرنے کا اختیار دیا جائے گا۔ ہو سکتا ہے محدود کردہ ایپس ٹھیک طرح سے کام نہ کریں اور اطلاعات میں تاخیر ہو۔"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"ان ایپس کیلئے بیٹری کو محدود کریں جنہیں آپ اکثر استعمال نہیں کرتے ہیں"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"جب بیٹری مینیجر اس بات کا پتہ لگاتا ہے کہ ایپس بیٹری ختم کر رہی ہیں، تو آپ کو ان ایپس کو محدود کرنے کا اختیار دیا جائے گا۔ ہو سکتا ہے محدود کردہ ایپس ٹھیک طرح سے کام نہ کریں اور اطلاعات میں تاخیر ہو۔"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"محدود کردہ ایپس"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">‏%1$d ایپس کیلئے بیٹری کا استعمال محدود ہے</item>
@@ -2407,7 +2424,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"یہ ایپس پس منظر میں بیٹری استعمال کر رہی ہیں۔ ہو سکتا ہے محدود کردہ ایپس ٹھیک طرح سے کام نہ کریں اور اطلاعات میں تاخیر ہو سکتی ہے۔"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"بیٹری مینیجر استعمال کریں"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"ایپس کے بیٹری ختم کرنے پر اس کا پتہ لگائیں"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"آن / ایپس کے بیٹری ختم کرنے پر اس کا پتہ لگانا"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"آن / ایپس کے بیٹری ختم کرنے پر اس کا پتہ لگانا"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"آف"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">‏%1$d ایپس پر پابندی لگائی گئی</item>
@@ -2515,7 +2532,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>
@@ -2596,8 +2612,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>
@@ -2613,10 +2628,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"اس صارف کیلئے اسنادات دستیاب نہیں ہیں"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"‏VPN اور ایپس کیلئے انسٹال کردہ"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"‏Wi-Fi کیلئے انسٹال کردہ"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"ایپ انسٹال ماخذ کی توثیق کے لیے انسٹال کیا گیا"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"سبھی مواد کو ہٹائیں؟"</string>
     <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="app_src_certificate" msgid="436410009047766408">"ایپ ماخذ سرٹیفکیٹ"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"اس سرٹیفکیٹ کو اپنی ذمہ داری پر انسٹال کریں"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"ایپ ماخذ سرٹیفکیٹس سے توثیق کرتے ہیں کہ ایپس آپ کے آلہ کے ليے محفوظ ہیں۔ ان تنظیموں سے صرف سرٹیفکیٹ انسٹال کریں جن پر آپ کو اعتماد ہے۔"</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>
@@ -2644,10 +2671,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>
@@ -2661,6 +2684,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>
@@ -2893,9 +2924,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"ایک صارف سرٹیفیکیٹ"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"‏ایک CA سرٹیفیکیٹ"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"‏‎%d CA سرٹیفیکیٹس"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"ایک ایپ ماخذ سرٹیفکیٹ"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"اسناد کی تفصیلات"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"سند ہٹا دی گئی: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"کوئی صارف اسناد انسٹال نہیں ہیں"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"سرٹیفکیٹ استعمال کرنے کے لیے ری سٹارٹ کریں"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"اس ایپ ماخذ سرٹیفکیٹ کو استعمال کرنے کے ليے، آپ کو اپنا آلہ ری سٹارٹ کرنے کی ضرورت ہے"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"ان انسٹال مکمل کرنے کے ليے ری سٹارٹ کریں"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"اس ایپ ماخذ سرٹیفکیٹ کو اَن انسٹال کرنے کے ليے، آپ کو اپنا آلہ ری سٹارٹ کرنے کی ضرورت ہے"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"ری سٹارٹ کریں"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"ابھی نہیں"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"سپیل چیکر"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"دفتر کیلئے املا جانچ کنندہ"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"اپنا موجودہ مکمل بیک اپ پاس ورڈ یہاں ٹائپ کریں"</string>
@@ -3010,7 +3048,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>
@@ -3079,7 +3116,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>
@@ -3089,6 +3125,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>
@@ -3102,7 +3139,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 +3154,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 +3165,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 +3196,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 +3234,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 +3244,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 +3264,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 +3290,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 +3317,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 +3348,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 +3378,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 +3427,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 +3464,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 +3495,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"بغیر آواز کے دکھائیں اور چھوٹا کریں"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"خاموشی سے دکھائیں"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"آواز نکالیں"</string>
@@ -3456,7 +3519,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 +3540,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 +3602,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 +3659,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 +3676,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 +3732,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>
@@ -3741,8 +3817,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 +3828,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 +3840,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 +3991,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 +4161,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 +4226,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 +4318,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>
@@ -4403,20 +4488,24 @@
     <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="5389656885733341448">"قبل از ریلیز ڈرائیور"</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_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) -->
+    <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>
@@ -4580,7 +4669,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 +4677,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 +4688,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>
@@ -4666,6 +4753,13 @@
     <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>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index 40e4083..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Hech qanday"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Hech qanday"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Hech qanday"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 fc9f947..ae9d769 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Ko‘rinish muddati"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Ovozli raqam terishni qulflash"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Ekran qulfligida bluetooth tergichidan foydalanishni taqiqlash"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Bluetooth qurilmalar"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Qurilma nomi"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Qurilma sozlamalari"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Profil sozlamalari"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 tez kattalashtiring.&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Kattalashtirish uchun:&lt;/b&gt;&lt;br/&gt;	1. Kattalashtirish yorligʻini tanlang&lt;br/&gt;	2. Ekran ustiga bosing&lt;br/&gt;	3. Ekranda ikki barmoqni joylab suring&lt;br/&gt;	4. Kattalashtirish uchun barmoqlarni yoying&lt;br/&gt;	5. Yakunlash uchun kattalashtirish yorligʻini bosing&lt;br/&gt;&lt;br/&gt;&lt;b&gt;Vaqtincha kattalashtirish uchun:&lt;/b&gt;&lt;br/&gt;	1. Kattalashtirish yorligʻini tanlang&lt;br/&gt;	2. Ekranni istalgan qismini bosib turing&lt;br/&gt;	3. Ekranda barmoqlarni joylab 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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2400,10 +2414,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Ilovalaringiz batareya quvvatini odatdagidek sarflamoqda. Agar ilovalar batareya quvvatini ortiqcha sarflasa, qurilmangiz nimalar qilishingiz kerakligini tavsiya qiladi.\n\nAgar batareya quvvati kamaysa, doim Quvvat tejash rejimini yoqishingiz mumkin."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batareya boshqaruvi"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Ilovalarni avtomatik boshqarish"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Kam ishlatiladigan ilovalar uchun batareyani cheklash"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Battery Manager ilovalarning batareyani ortiqcha sarflayotganini aniqlasa, mazkur ilovalarni cheklashingiz mumkin. Cheklangan ilovalar xato ishlashi va bildirishnomalar kechikishi mumkin."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Battery Manager ilovalarning batareyani ortiqcha sarflayotganini aniqlasa, mazkur ilovalarni cheklashingiz mumkin. Cheklangan ilovalar xato ishlashi va bildirishnomalar kechikishi mumkin."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Battery Manager ilovalarning batareyani ortiqcha sarflayotganini aniqlasa, mazkur ilovalarni cheklashingiz mumkin. Cheklangan ilovalar xato ishlashi va bildirishnomalar kechikishi mumkin."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Kam ishlatiladigan ilovalar uchun batareyani cheklash"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Battery Manager ilovalarning batareyani ortiqcha sarflayotganini aniqlasa, mazkur ilovalarni cheklashingiz mumkin. Cheklangan ilovalar xato ishlashi va bildirishnomalar kechikishi mumkin."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Cheklangan imkoniyatli ilovalar"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">%1$d ta ilova uchun batareya sarfi cheklangan</item>
@@ -2413,7 +2425,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Mazkur ilovalar fonda batareyani sarflamoqda. Cheklangan ilovalar xato ishlashi va bildirishnomalar kechikishi mumkin."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Battery Manager ishlatish"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Ilovalar batareyani ortiqcha sarflayotganini aniqlash"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Yoniq / Ilovalar batareyani ortiqcha sarflayotgani aniqlanmoqda"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Yoniq / Ilovalar batareyani ortiqcha sarflayotgani aniqlanmoqda"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Yoqilmagan"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d ta ilova cheklandi</item>
@@ -2525,7 +2537,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>
@@ -2606,8 +2617,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>
@@ -2623,10 +2633,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Ushbu foydalanuvchi uchun hisob ma’lumotlari mavjud emas"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"VPN va ilovalar uchun o‘rnatilgan"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Wi-Fi uchun o‘rnatilgan"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Ilovani oʻrnatgan manbani aniqlash uchun oʻrnatildi"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Hamma narsa o‘chirib tashlansinmi?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Ilova manbasi sertifikati"</string>
+    <string name="ca_certificate_warning_title" msgid="8229107396555793427">"Dahlsizligingiz 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="app_src_certificate_warning_title" msgid="3581334802881767289">"Bu sertifikat xavfsizligi kafolatlanmagan"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Ilova manbasi sertifikatlari qurilmangizdagi ilovalar zararsiz ekanini tekshiradi. Faqatgina ishonchli tashkilotlarning sertifikatlarini oʻrnating."</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>
@@ -2654,10 +2676,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>
@@ -2671,6 +2689,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>
@@ -2903,9 +2929,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"bitta foydalanuvchi sertifikati"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"sertifikatlashtirish markazining bitta sertifikati"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA sertifikatlari"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"bir ilova manbasi sertifikati"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Hisob ma’lumotlari"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Hisob ma’lumotlari o‘chirib tashlandi: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Foydalanuvchining hisob ma’lumotlari o‘rnatilmagan"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Sertifikatni ishlatish uchun oʻchirib yoqing"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Bu ilova manbasi sertifikatini ishlatish uchun qurilmani oʻchirib yoqishingiz kerak"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Oʻchirib yoqing va tozalashni yakunlang"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Bu ilova manbasi sertifikatini oʻchirib tashlash uchun qurilmani oʻchirib yoqishingiz kerak"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Oʻchirib yoqish"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Keyinroq"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Imlo tekshiruvi"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Ish uchun imlo tekshirgich"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Joriy parolni kiriting"</string>
@@ -3020,7 +3053,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>
@@ -3089,7 +3121,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>
@@ -3099,6 +3130,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>
@@ -3112,7 +3144,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>
@@ -3130,6 +3161,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>
@@ -3140,13 +3172,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>
@@ -3170,7 +3203,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>
@@ -3208,6 +3241,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>
@@ -3217,18 +3251,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>
@@ -3236,6 +3271,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>
@@ -3259,6 +3297,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>
@@ -3285,7 +3324,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>
@@ -3316,7 +3355,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>
@@ -3346,10 +3385,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>
@@ -3393,16 +3434,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>
@@ -3420,6 +3471,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>
@@ -3450,6 +3502,12 @@
     <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="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>
@@ -3468,7 +3526,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>
@@ -3489,6 +3547,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>
@@ -3550,8 +3609,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>
@@ -3605,6 +3666,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>
@@ -3618,15 +3683,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">
@@ -3669,6 +3739,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>
@@ -3753,8 +3824,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>
@@ -3766,6 +3835,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>
@@ -3777,9 +3847,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>
@@ -3927,8 +4002,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>
@@ -4094,6 +4172,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>
@@ -4157,14 +4237,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>
@@ -4253,8 +4329,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>
@@ -4419,20 +4499,24 @@
     <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="5389656885733341448">"Drayver sinov 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_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) -->
+    <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>
@@ -4596,7 +4680,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>
@@ -4605,11 +4688,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>
@@ -4619,6 +4699,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>
@@ -4682,6 +4764,13 @@
     <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>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index 4f64d0e..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Không có"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Không có"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Không"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 6b4bb38..bc400c1 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Hết thời gian hiển thị"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Khoá quay số bằng giọng nói"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Ngăn việc sử dụng trình quay số bluetooth khi màn hình bị khóa."</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Thiết bị Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Tên thiết bị"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Cài đặt thiết bị"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Cài đặt tiểu sử"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Các ứng dụng của bạn đang sử dụng lượng pin ở mức bình thường. Nếu các ứng dụng sử dụng quá nhiều pin, thì thiết bị sẽ đề xuất các hành động mà bạn có thể thực hiện.\n\nBạn luôn có thể bật Trình tiết kiệm pin nếu sắp hết pin."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Trình quản lý pin"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Tự động quản lý ứng dụng"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Hạn chế sử dụng pin cho các ứng dụng ít dùng"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Khi Trình quản lý pin phát hiện thấy các ứng dụng đang tiêu hao pin, bạn có thể hạn chế những ứng dụng này. Các ứng dụng bị hạn chế có thể không hoạt động bình thường và thông báo có thể bị chậm trễ."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Khi Trình quản lý pin phát hiện thấy các ứng dụng đang tiêu hao pin, bạn có thể hạn chế những ứng dụng này. Các ứng dụng bị hạn chế có thể không hoạt động bình thường và thông báo có thể bị chậm trễ."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Khi Trình quản lý pin phát hiện thấy các ứng dụng đang tiêu hao pin, bạn có thể hạn chế những ứng dụng này. Các ứng dụng bị hạn chế có thể không hoạt động bình thường và thông báo có thể bị chậm trễ."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Hạn chế sử dụng pin cho các ứng dụng ít dùng"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Khi Trình quản lý pin phát hiện thấy các ứng dụng đang tiêu hao pin, bạn có thể hạn chế những ứng dụng này. Các ứng dụng bị hạn chế có thể không hoạt động bình thường và thông báo có thể bị chậm trễ."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Ứng dụng bị giới hạn"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">Giới hạn mức sử dụng pin đối với ứng dụng %1$d</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Các ứng dụng này vẫn đang sử dụng pin trong nền. Những ứng dụng bị hạn chế có thể hoạt động không bình thường và thông báo có thể bị chậm trễ."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Sử dụng Trình quản lý pin"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Phát hiện khi ứng dụng tiêu hao pin"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Bật / Phát hiện khi ứng dụng tiêu hao pin"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Bật / Phát hiện khi ứng dụng tiêu hao pin"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Tắt"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">Đã hạn chế %1$d ứng dụng</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Không có thông tin đăng nhập cho người dùng này"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Đã cài đặt cho VPN và ứng dụng"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Đã cài đặt cho Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Đã cài đặt để xác minh nguồn cài đặt ứng dụng"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Xóa tất cả nội dung?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Chứng chỉ nguồn ứng dụng"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Bạn tự chịu rủi ro khi cài đặt chứng chỉ này"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Chứng chỉ nguồn ứng dụng sẽ xác minh rằng các ứng dụng là an toàn cho thiết bị của bạn. Bạn chỉ nên cài đặt chứng chỉ của tổ chức mà mình tin cậy."</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"một chứng chỉ người dùng"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"một chứng chỉ CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d chứng chỉ CA"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"một chứng chỉ nguồn ứng dụng"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Chi tiết về thông tin xác thực"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Đã xóa thông tin xác thực: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Không có thông tin xác thực người dùng nào được cài đặt"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Khởi động lại để dùng chứng chỉ"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Để dùng chứng chỉ nguồn ứng dụng này, bạn cần khởi động lại thiết bị"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Khởi động lại để hoàn thành bước gỡ cài đặt"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Để gỡ cài đặt chứng chỉ nguồn ứng dụng này, bạn cần khởi động lại thiết bị"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Khởi động lại"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Để sau"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Kiểm tra chính tả"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Trình kiểm tra chính tả cho công việc"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Nhập mật khẩu hiện tại cho sao lưu toàn bộ vào đây"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="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>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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>
@@ -3756,6 +3825,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>
@@ -3767,9 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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>
@@ -4143,14 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"Trình điều khiển bản phát hành trước"</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_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) -->
+    <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>
@@ -4582,7 +4666,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>
@@ -4591,11 +4674,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>
@@ -4605,6 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index fc71232..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"无"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"无"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"无"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 4a8f4d1..7f13b2e 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"检测超时设置"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"锁定语音拨号"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"屏幕锁定时停止使用蓝牙拨号器"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"蓝牙设备"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"设备名称"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"设备设置"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"配置文件设置"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"自动点击时间"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"您的应用目前耗电量正常。如果应用耗电量过高，您的设备会为您提供操作建议。\n\n如果电池电量不足，您可以随时开启省电模式。"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"电池管理器"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"自动管理应用"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"限制不常用的应用的耗电量"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"当电池管理器检测到应用正在使用电量时，您可以选择限制这些应用。受限应用可能无法正常运行，相应通知也可能会有所延迟。"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"当电池管理器检测到应用正在使用电量时，您可以选择限制这些应用。受限应用可能无法正常运行，相应通知也可能会有所延迟。"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"当电池管理器检测到应用正在使用电量时，您可以选择限制这些应用。受限应用可能无法正常运行，相应通知也可能会有所延迟。"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"限制不常用的应用的耗电量"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"当电池管理器检测到应用正在使用电量时，您可以选择限制这些应用。受限应用可能无法正常运行，相应通知也可能会有所延迟。"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"受限应用"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">正在限制 %1$d 个应用的电池用量</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"这些应用一直在后台消耗电量。受限应用可能无法正常运行，且相关通知可能也会有所延迟。"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"使用电池管理器"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"检测应用何时使用电量"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"开启 / 正在检测应用何时使用电量"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"开启 / 正在检测应用何时使用电量"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"关闭"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d 个应用受到限制</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"此用户无法查看或修改凭据"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"已安装（用于 VPN 和应用）"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"已安装（用于 WLAN）"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"已安装用户凭据用于验证应用安装来源"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"要移除所有内容吗？"</string>
     <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="app_src_certificate" msgid="436410009047766408">"“应用来源”证书"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"安装此证书（风险自负）"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"“应用来源”证书用于验证应用对您的设备而言是否安全。请仅安装您信任的单位提供的证书。"</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"一个用户证书"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"1 个 CA 证书"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d 个 CA 证书"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"1 个“应用来源”证书"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"凭据详情"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"已移除以下凭据：<xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"未安装任何用户凭据"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"重启即可使用证书"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"您需要重启设备才能使用此“应用来源”证书"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"重启即可完成卸载"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"您需要重启设备才能卸载此“应用来源”证书"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"重启"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"以后再说"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"拼写检查工具"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"工作用的拼写检查工具"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"在此键入您当前的完整备份密码"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"无声显示并将重要性级别最小化"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"显示通知但不发出提示音"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"发出提示音"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"预发布驱动程序"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index 62b90f6..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"無"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"無"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM 卡"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"無"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 a21709a..b51a934 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"顯示時限"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"鎖定語音撥號"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"螢幕鎖定時不要使用藍牙撥號"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"藍牙裝置"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"裝置名稱"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"裝置設定"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"個人資料設定"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1576,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 +1626,9 @@
     <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="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 +1719,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 +1727,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>
@@ -1898,7 +1860,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 +2060,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 +2068,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. 拖曳 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/&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 +2137,41 @@
     <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="2370077188725433271">"自動點擊時間"</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_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 +2183,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>
@@ -2395,10 +2409,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"您的應用程式目前的耗電量正常。如果應用程式耗電過多，裝置將會為您提供操作建議。\n\n如果電量較低，您可以隨時開啟省電模式。"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"電池管理工具"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"自動管理應用程式"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"限制不常用應用程式的耗電量"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"當「電池管理工具」偵測到應用程式正在耗電時，您可選擇限制這些應用程式。受限制的應用程式可能會因此無法正常運作，且相關通知可能會延遲。"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"當「電池管理工具」偵測到應用程式正在耗電時，您可選擇限制這些應用程式。受限制的應用程式可能會因此無法正常運作，且相關通知可能會延遲。"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"當「電池管理工具」偵測到應用程式正在耗電時，您可選擇限制這些應用程式。受限制的應用程式可能會因此無法正常運作，且相關通知可能會延遲。"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"限制不常用應用程式的耗電量"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"當「電池管理工具」偵測到應用程式正在耗電時，您可選擇限制這些應用程式。受限制的應用程式可能會因此無法正常運作，且相關通知可能會延遲。"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"受限制的應用程式"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">限制 %1$d 個應用程式的用電量</item>
@@ -2408,7 +2420,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"這些應用程式會在背景中耗電。受限制的應用程式可能會無法正常運作，且相關通知可能會延遲。"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"使用電池管理工具"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"偵測應用程式何時耗電"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"已開啟/正在偵測應用程式何時耗電"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"已開啟/正在偵測應用程式何時耗電"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"已關閉"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">%1$d 個應用程式受限制</item>
@@ -2516,7 +2528,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>
@@ -2597,8 +2608,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>
@@ -2614,10 +2624,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"這位使用者無法存取憑證"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"已針對 VPN 和應用程式安裝憑證"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"已針對 Wi-Fi 安裝憑證"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"已安裝憑證作應用程式安裝來源驗證"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"要移除所有內容嗎？"</string>
     <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="app_src_certificate" msgid="436410009047766408">"「應用程式來源」憑證"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"您必需自行承擔安裝此憑證的風險"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"應用程式來源憑證可以驗證您能在裝置上安心使用應用程式。請只安裝由您信任的機構發出的憑證。"</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>
@@ -2645,10 +2667,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>
@@ -2662,6 +2680,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>
@@ -2894,9 +2920,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"一個使用者憑證"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"1 個 CA 憑證"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d 個 CA 憑證"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"一個「應用程式來源」憑證"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"憑證詳細資料"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"已移除憑證：<xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"沒有安裝使用者憑證"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"重新開機以使用憑證"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"您需要重新開啟裝置，方能使用此應用程式來源憑證"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"重新開機以完成解除安裝"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"您需要重新開啟裝置，方能解除安裝此應用程式來源憑證"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"重新開機"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"暫時不要"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"拼字檢查"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"工作用拼字檢查工具"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"輸入目前的完整備份密碼"</string>
@@ -3011,7 +3044,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>
@@ -3080,7 +3112,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>
@@ -3090,6 +3121,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>
@@ -3103,7 +3135,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>
@@ -3121,6 +3152,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>
@@ -3131,13 +3163,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>
@@ -3161,7 +3194,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>
@@ -3199,6 +3232,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>
@@ -3208,18 +3242,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>
@@ -3227,6 +3262,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>
@@ -3250,6 +3288,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>
@@ -3276,7 +3315,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>
@@ -3307,7 +3346,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>
@@ -3337,10 +3376,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>
@@ -3384,16 +3425,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>
@@ -3411,6 +3462,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>
@@ -3441,6 +3493,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"無聲顯示並將重要性級別最小化"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"顯示通知但不發出音效"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"發出音效"</string>
@@ -3459,7 +3517,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>
@@ -3480,6 +3538,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>
@@ -3499,7 +3558,7 @@
     <string name="picture_in_picture_keywords" msgid="3605379820551656253">"pip 畫中畫"</string>
     <string name="picture_in_picture_app_detail_title" msgid="4442235098255164650">"畫中畫"</string>
     <string name="picture_in_picture_app_detail_switch" msgid="8544190716075624017">"允許畫中畫"</string>
-    <string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"允許此應用程式在開啟時或您離開後 (例如繼續觀看影片) 建立畫中畫視窗。該視窗會在您目前使用的其他應用程式上層顯示。"</string>
+    <string name="picture_in_picture_app_detail_summary" msgid="2503211101305358849">"當您離開正運作中的應用程式時，允許該應用程式建立畫中畫視窗 (例如方便您繼續觀看影片)。該視窗會顯示在您目前使用的其他應用程式上層。"</string>
     <string name="manage_zen_access_title" msgid="1562322900340107269">"「請勿騷擾」權限"</string>
     <string name="zen_access_detail_switch" msgid="4183681772666138993">"允許請勿騷擾權限"</string>
     <string name="zen_access_empty_text" msgid="3779921853282293080">"沒有已安裝的應用程式要求存取「請勿騷擾」。"</string>
@@ -3541,8 +3600,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>
@@ -3596,6 +3657,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>
@@ -3609,15 +3674,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">
@@ -3660,6 +3730,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>
@@ -3744,8 +3815,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,8 +3824,9 @@
     <string name="advanced_apps" msgid="7643010673326578815">"進階"</string>
     <string name="configure_apps" msgid="5468359087126598115">"設定應用程式"</string>
     <string name="unknown_app" msgid="2027248925719898714">"不明應用程式"</string>
-    <string name="app_permissions" msgid="8666537659217653626">"權限管理員"</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>
@@ -3768,9 +3838,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>
@@ -3787,7 +3862,7 @@
     <string name="system_app" msgid="1863291702508355041">"(系統)"</string>
     <string name="system_default_app" msgid="2647834628622214931">"(系統預設)"</string>
     <string name="apps_storage" msgid="643866814746927111">"應用程式儲存空間"</string>
-    <string name="usage_access" msgid="5487993885373893282">"使用情況存取權"</string>
+    <string name="usage_access" msgid="5487993885373893282">"使用紀錄存取權"</string>
     <string name="permit_usage_access" msgid="179630895262172674">"允許使用記錄存取權"</string>
     <string name="app_usage_preference" msgid="7062447555623339120">"應用程式使用喜好"</string>
     <string name="time_spent_in_app_pref_title" msgid="25327097913383330">"裝置使用時間"</string>
@@ -3914,8 +3989,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>
@@ -4081,6 +4159,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>
@@ -4144,14 +4224,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>
@@ -4240,8 +4316,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>
@@ -4406,20 +4486,24 @@
     <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="5389656885733341448">"預先發佈版驅動程式"</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_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) -->
+    <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>
@@ -4583,7 +4667,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>
@@ -4592,11 +4675,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>
@@ -4606,6 +4686,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>
@@ -4669,6 +4751,13 @@
     <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>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index a282a0f..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"無"</item>
-    <item msgid="7999067440135784391">"MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"無"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"無"</item>
-    <item msgid="2548160166342921510">"PAP"</item>
-    <item msgid="2030080230898427253">"MSCHAP"</item>
-    <item msgid="3925393308736149115">"MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"PAP"</item>
+    <item msgid="5204890303748068014">"MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"DHCP"</item>
@@ -202,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>
@@ -407,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 138d4b4..2c2fc5c 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"偵測時限設定"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"鎖定語音撥號"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"螢幕鎖定時不要使用藍牙撥號"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"藍牙裝置"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"裝置名稱"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"裝置設定"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"個人資料設定"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1575,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 +1625,9 @@
     <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="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 +1718,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 +1726,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>
@@ -1897,7 +1859,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 +2059,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 +2067,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 +2136,41 @@
     <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="2370077188725433271">"自動點擊時間"</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_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 +2182,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>
@@ -2394,10 +2408,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"你的應用程式目前耗用的電力正常。如果應用程式耗用過多電力，你的裝置會為你提供操作建議。\n\n如果電池電量偏低，你隨時可以開啟節約耗電量模式。"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"自動管理應用程式"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"針對不常使用的應用程式限制電池用量"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"當電池管理員偵測到應用程式正在耗用大量電力時，你可以選擇限制這些應用程式。受限制的應用程式可能無法正常運作，且相關通知可能會延遲。"</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"當電池管理員偵測到應用程式正在耗用大量電力時，你可以選擇限制這些應用程式。受限制的應用程式可能無法正常運作，且相關通知可能會延遲。"</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"當電池管理員偵測到應用程式正在耗用大量電力時，你可以選擇限制這些應用程式。受限制的應用程式可能無法正常運作，且相關通知可能會延遲。"</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"針對不常使用的應用程式限制電池用量"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"當電池管理員偵測到應用程式正在耗用大量電力時，你可以選擇限制這些應用程式。受限制的應用程式可能無法正常運作，且相關通知可能會延遲。"</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"受限制的應用程式"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="other">限制 %1$d 個應用程式的電池用量</item>
@@ -2407,7 +2419,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"這些應用程式會在背景耗用電量。受限制的應用程式可能無法正常運作，且相關通知可能會延遲。"</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"使用電池管理員"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"偵測應用程式是否耗用大量電力"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"開啟/偵測應用程式是否耗用大量電力"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"開啟/偵測應用程式是否耗用大量電力"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"已關閉"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="other">有 %1$d 個應用程式受到限制</item>
@@ -2515,7 +2527,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>
@@ -2596,8 +2607,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>
@@ -2613,10 +2623,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"這位使用者無法存取憑證"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"已為 VPN 和應用程式安裝"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"已為 Wi-Fi 安裝"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"已安裝用於驗證應用程式安裝來源的憑證"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"你要移除所有內容嗎？"</string>
     <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="app_src_certificate" msgid="436410009047766408">"應用程式來源憑證"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"你必須自行承擔安裝這個憑證可能造成的風險"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"應用程式來源憑證會驗證應用程式是否對你的裝置無害。除非你信任憑證來源機構，否則請勿安裝。"</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>
@@ -2644,10 +2666,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>
@@ -2661,6 +2679,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>
@@ -2893,9 +2919,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"一個使用者憑證"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"一個 CA 憑證"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d 個 CA 憑證"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"一個應用程式來源憑證"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"憑證詳細資料"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"已移除下列憑證：<xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"尚未安裝任何使用者憑證"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"重新啟動以使用憑證"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"你必須重新啟動裝置，才能使用這個應用程式來源憑證"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"重新啟動以完成解除安裝程序"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"你必須重新啟動裝置，才能解除安裝這個應用程式來源憑證"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"重新啟動"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"暫時不要"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"拼字檢查"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"工作用的拼字檢查工具"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"在這裡輸入你目前的完整備份密碼"</string>
@@ -3010,7 +3043,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>
@@ -3079,7 +3111,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>
@@ -3089,6 +3120,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>
@@ -3102,7 +3134,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>
@@ -3120,6 +3151,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>
@@ -3130,13 +3162,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>
@@ -3160,7 +3193,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>
@@ -3198,6 +3231,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>
@@ -3207,18 +3241,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>
@@ -3226,6 +3261,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>
@@ -3249,6 +3287,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>
@@ -3275,7 +3314,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>
@@ -3306,7 +3345,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>
@@ -3336,10 +3375,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>
@@ -3383,16 +3424,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>
@@ -3410,6 +3461,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>
@@ -3440,6 +3492,12 @@
     <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="notification_importance_min" msgid="4609688642942787774">"無聲顯示並最小化"</string>
     <string name="notification_importance_low" msgid="7562535765919565273">"顯示通知但不發出音效"</string>
     <string name="notification_importance_default" msgid="7483906490369073043">"發出音效"</string>
@@ -3458,7 +3516,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>
@@ -3479,6 +3537,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>
@@ -3540,8 +3599,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>
@@ -3595,6 +3656,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>
@@ -3608,15 +3673,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">
@@ -3659,6 +3729,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>
@@ -3743,8 +3814,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 +3825,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 +3837,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>
@@ -3913,8 +3988,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>
@@ -4080,6 +4158,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 +4223,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>
@@ -4239,8 +4315,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>
@@ -4405,20 +4485,24 @@
     <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="5389656885733341448">"預先發布版驅動程式"</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_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) -->
+    <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>
@@ -4582,7 +4666,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 +4674,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 +4685,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>
@@ -4668,6 +4750,13 @@
     <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>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index 8f247ef..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>
@@ -146,24 +153,21 @@
     <item msgid="3199281439582632425">"PWD"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries">
-    <item msgid="8923771320101021076">"Lutho"</item>
-    <item msgid="7999067440135784391">"I-MSCHAPV2"</item>
-    <item msgid="4508543070243132707">"I-GTC"</item>
+    <item msgid="8082624033981656770">"MSCHAPV2"</item>
+    <item msgid="4182817453412578800">"GTC"</item>
   </string-array>
   <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-    <item msgid="6784317080636348567">"Lutho"</item>
-    <item msgid="6196154457987907739">"MSCHAPV2"</item>
-    <item msgid="9026748161938741231">"GTC"</item>
-    <item msgid="286525156248577475">"SIM"</item>
-    <item msgid="7481822337687913543">"AKA"</item>
-    <item msgid="5495954851156664290">"AKA\'"</item>
+    <item msgid="5943169794516984261">"MSCHAPV2"</item>
+    <item msgid="2379904471264702148">"GTC"</item>
+    <item msgid="5248162884898921025">"SIM"</item>
+    <item msgid="3148964951886919224">"AKA"</item>
+    <item msgid="8987072060394684912">"AKA\'"</item>
   </string-array>
-  <string-array name="wifi_phase2_entries">
-    <item msgid="9104917264573875301">"Lutho"</item>
-    <item msgid="2548160166342921510">"I-PAP"</item>
-    <item msgid="2030080230898427253">"I-MSCHAP"</item>
-    <item msgid="3925393308736149115">"I-MSCHAPV2"</item>
-    <item msgid="1489443379153624742">"I-GTC"</item>
+  <string-array name="wifi_ttls_phase2_entries">
+    <item msgid="7970149422845752634">"I-PAP"</item>
+    <item msgid="5204890303748068014">"I-MSCHAP"</item>
+    <item msgid="2210309879499032393">"MSCHAPV2"</item>
+    <item msgid="6686694694122598353">"GTC"</item>
   </string-array>
   <string-array name="wifi_ip_settings">
     <item msgid="6665889765350160154">"i-DHCP"</item>
@@ -202,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>
@@ -407,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 ab5c5c8..e5395fd 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>
@@ -99,7 +66,6 @@
     <string name="bluetooth_visibility_timeout" msgid="7611781967900196353">"Isikhathi sokubonakala"</string>
     <string name="bluetooth_lock_voice_dialing" msgid="7405038248936935186">"Vala ukudayela ngezwi"</string>
     <string name="bluetooth_lock_voice_dialing_summary" msgid="4959591522483403402">"Gwema ukusebenzisa isidayeli se-bluetooth lapho isikrini sivaliwe"</string>
-    <string name="bluetooth_devices" msgid="1063177983261608277">"Amadivaysi e-Bluetooth"</string>
     <string name="bluetooth_device_name" msgid="1294669733490268384">"Igama ledivaysi"</string>
     <string name="bluetooth_device_details" msgid="630702184344217832">"Izilungiselelo zedivayisi"</string>
     <string name="bluetooth_profile_details" msgid="1269419918127093325">"Izilungiselelo zephrofayela"</string>
@@ -174,9 +140,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 +175,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 +215,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 +233,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 +240,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 +283,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 +312,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 +615,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 +645,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>
@@ -840,16 +765,19 @@
     <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 +851,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 +862,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 +870,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>
@@ -966,12 +896,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 +916,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 +936,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 +988,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 +1041,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 +1050,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 +1087,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 +1223,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 +1246,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 +1335,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 +1362,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 +1576,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 +1626,9 @@
     <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="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 +1719,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 +1727,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>
@@ -1898,7 +1860,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 +2060,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 +2068,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 +2137,41 @@
     <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="2370077188725433271">"isikhathi sokuchofoza okuzenzakalelayo"</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_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 +2183,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>
@@ -2395,10 +2409,8 @@
     <string name="battery_tip_dialog_summary_message" product="device" msgid="8222461068860745749">"Izinhlelo zakho zokusebenza zisebenzisa inani elivamile lebhethri. Uma izinhlelo zokusebenza zisebenzisa ibhethri eliningi, idivayisi yakho izophakamisa izenzo ongazenza.\n\nUngahlala uvula isilondolozi sebhethri uma uphelelwa ibethri."</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Isiphathi sebhethri"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Phatha izinhlelo zokusebenza ngokuzenzakalela"</string>
-    <string name="smart_battery_summary" msgid="1492277404000064998">"Khawulela ibhethri kuzinhlelo zokusebenza ongavamisile ukuzisebenzisa"</string>
-    <string name="smart_battery_footer" product="default" msgid="8407121907452993645">"Uma isiphathi sebhethri sithola ukuthi izinhlelo zokusebenza zidonsa ibhethri, uzoba nenketho yokukhawulela lezi zinhlelo zokusebenza. Izinhlelo zokusebenza ezikhawulelwe kungenzeka zingasebenzi kahle futhi izaziso kungenzeka zilibaziseke."</string>
-    <string name="smart_battery_footer" product="tablet" msgid="8407121907452993645">"Uma isiphathi sebhethri sithola ukuthi izinhlelo zokusebenza zidonsa ibhethri, uzoba nenketho yokukhawulela lezi zinhlelo zokusebenza. Izinhlelo zokusebenza ezikhawulelwe kungenzeka zingasebenzi kahle futhi izaziso kungenzeka zilibaziseke."</string>
-    <string name="smart_battery_footer" product="device" msgid="8407121907452993645">"Uma isiphathi sebhethri sithola ukuthi izinhlelo zokusebenza zidonsa ibhethri, uzoba nenketho yokukhawulela lezi zinhlelo zokusebenza. Izinhlelo zokusebenza ezikhawulelwe kungenzeka zingasebenzi kahle futhi izaziso kungenzeka zilibaziseke."</string>
+    <string name="smart_battery_summary" product="default" msgid="1492277404000064998">"Khawulela ibhethri kuzinhlelo zokusebenza ongavamisile ukuzisebenzisa"</string>
+    <string name="smart_battery_footer" msgid="8407121907452993645">"Uma isiphathi sebhethri sithola ukuthi izinhlelo zokusebenza zidonsa ibhethri, uzoba nenketho yokukhawulela lezi zinhlelo zokusebenza. Izinhlelo zokusebenza ezikhawulelwe kungenzeka zingasebenzi kahle futhi izaziso kungenzeka zilibaziseke."</string>
     <string name="restricted_app_title" msgid="6585080822121007436">"Izinhlelo zokusebenza ezikhawulelwe"</string>
     <plurals name="restricted_app_summary" formatted="false" msgid="6059772951505411003">
       <item quantity="one">Ikhawulela ukusetshenziswa kwebhethri kwezinhlelo zokusebenza ezingu-%1$d</item>
@@ -2408,7 +2420,7 @@
     <string name="restricted_app_detail_footer" msgid="3683577206409650564">"Lezi zinhlelo zokusebenza zisebenzise ibhethri ngemuva. Izinhlelo zokusebenza ezikhawulelwe zingahle zingasebenzi kahle futhi izaziso zingabambezeleka."</string>
     <string name="battery_auto_restriction_title" msgid="827206218118093357">"Sebenzisa isiphathi sebhethri"</string>
     <string name="battery_auto_restriction_summary" msgid="2140896101984815711">"Iyathola uma izinhlelo zokusebenza zidonsa ibhethri"</string>
-    <string name="battery_manager_on" msgid="3197525907390349054">"Kuvuliwe / Iyathola uma izinhlelo zokusebenza zidonsa ibhethri"</string>
+    <string name="battery_manager_on" product="default" msgid="3197525907390349054">"Kuvuliwe / Iyathola uma izinhlelo zokusebenza zidonsa ibhethri"</string>
     <string name="battery_manager_off" msgid="673547668722420924">"Valiwe"</string>
     <plurals name="battery_manager_app_restricted" formatted="false" msgid="6714534362166394848">
       <item quantity="one">%1$d izinhlelo zokusebenza ezikhawulelwe</item>
@@ -2516,7 +2528,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>
@@ -2597,8 +2608,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>
@@ -2614,10 +2624,22 @@
     <string name="credentials_settings_not_available" msgid="7433088409177429600">"Izifakazo azitholakaleli lo msebenzisi"</string>
     <string name="credential_for_vpn_and_apps" msgid="2208229692860871136">"Kufakelwe i-VPN nezinhlelo zokusebenza"</string>
     <string name="credential_for_wifi" msgid="1963335263280604998">"Kufakelwe i-Wi-Fi"</string>
+    <string name="credential_for_fsverity" msgid="8733384639764901293">"Kufakelwe ukuqinisekiswa komthombo wokufakwa wohlelo lokusebenza"</string>
     <string name="credentials_reset_hint" msgid="4054601857203464867">"Susa konke okuqukethwe?"</string>
     <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="app_src_certificate" msgid="436410009047766408">"Isitifiketi somthombo wohlelo lokusebenza"</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="app_src_certificate_warning_title" msgid="3581334802881767289">"Faka lesi sitifiketi ngokwazi ukuthi ungazifaka wena engozini"</string>
+    <string name="app_src_certificate_warning_description" msgid="4891599919584400969">"Izitifiketi zomthombo wohlelo lokusebenza zicacisa ukuthi izinhlelo zokusebenza ziphephile kudivayisi yakho. Faka kuphela izitifiketi kusukela kuzinhlangano ozithembayo."</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>
@@ -2645,10 +2667,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>
@@ -2662,6 +2680,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>
@@ -2894,9 +2920,16 @@
     <string name="one_usercrt" msgid="1865069301105101370">"isitifiketi esisodwa somsebenzisi"</string>
     <string name="one_cacrt" msgid="7467796501404158399">"isitifiketi esisodwa se-CA"</string>
     <string name="n_cacrts" msgid="5886462550192731627">"%d CA izitifiketi"</string>
+    <string name="one_appsrccrt" msgid="8129657605195214337">"isitifiketi somthombo wohlelo lokusebenza esisodwa"</string>
     <string name="user_credential_title" msgid="4686178602575567298">"Imininingwane yokuqinisekisa"</string>
     <string name="user_credential_removed" msgid="4087675887725394743">"Ukuqinisekisa okususiwe: <xliff:g id="CREDENTIAL_NAME">%s</xliff:g>"</string>
     <string name="user_credential_none_installed" msgid="918620912366836994">"Akukho ukuqinisekisa okufakiwe"</string>
+    <string name="app_src_cert_reboot_dialog_install_title" msgid="8054342796523969318">"Qala kabusha ukuze usebenzise isitifiketi"</string>
+    <string name="app_src_cert_reboot_dialog_install_message" msgid="3047145226539355739">"Ukuze usebenzise lesi sitifiketi somthombo wohlelo lokusebenza, kuzomele uqale kabusha idivayisi yakho"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_title" msgid="1122954693175643166">"Qalisa kabusha ukuze uqedele ukukhishwa"</string>
+    <string name="app_src_cert_reboot_dialog_uninstall_message" msgid="5733844651545039464">"Ukuze ukhiphe lesi sitifiketi somthombo wohlelo lokusebenza, kuzomele uqale kabusha idivayisi yakho"</string>
+    <string name="app_src_cert_reboot_dialog_button_restart" msgid="3222022868040265930">"Qala kabusha"</string>
+    <string name="app_src_cert_reboot_dialog_button_not_now" msgid="3582913410301349048">"Hhayi manje"</string>
     <string name="spellcheckers_settings_title" msgid="2799021700580591443">"Umhloli wokupela"</string>
     <string name="spellcheckers_settings_for_work_title" msgid="6471603934176062893">"Isihloli sokupeleta somsebenzi"</string>
     <string name="current_backup_pw_prompt" msgid="4962276598546381140">"Faka lapha iphasiwedi yakho yokusekela ngokulondoloza okugcwele"</string>
@@ -3011,7 +3044,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>
@@ -3080,7 +3112,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>
@@ -3090,6 +3121,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>
@@ -3103,7 +3135,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>
@@ -3121,6 +3152,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>
@@ -3131,13 +3163,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>
@@ -3161,7 +3194,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>
@@ -3199,6 +3232,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>
@@ -3208,18 +3242,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>
@@ -3227,6 +3262,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>
@@ -3250,6 +3288,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>
@@ -3276,7 +3315,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>
@@ -3307,7 +3346,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>
@@ -3337,10 +3376,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>
@@ -3384,16 +3425,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>
@@ -3411,6 +3462,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>
@@ -3441,6 +3493,12 @@
     <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="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>
@@ -3459,7 +3517,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>
@@ -3480,6 +3538,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>
@@ -3541,8 +3600,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>
@@ -3596,6 +3657,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>
@@ -3609,15 +3674,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">
@@ -3660,6 +3730,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>
@@ -3744,8 +3815,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>
@@ -3757,6 +3826,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>
@@ -3768,9 +3838,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>
@@ -3914,8 +3989,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>
@@ -4081,6 +4159,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>
@@ -4144,14 +4224,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>
@@ -4240,8 +4316,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>
@@ -4406,20 +4486,24 @@
     <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="5389656885733341448">"Umshayela wokukhulula ngaphambilini"</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_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) -->
+    <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>
@@ -4583,7 +4667,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>
@@ -4592,11 +4675,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>
@@ -4606,6 +4686,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>
@@ -4669,6 +4751,13 @@
     <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>
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 09447b9..c19b948 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>
@@ -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>
@@ -1385,15 +1461,15 @@
 
     <!-- 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 +1492,36 @@
         <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>
+        <item>@string/color_pink</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>
+        <item>@color/palette_list_color_pink</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..1c18c6a 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,28 @@
     <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 -->
+    <color name="palette_list_color_pink">#e52592</color> <!-- Material Pink 600 -->
+
+    <!-- Palette list preference dark mode colors. -->
+    <color name="palette_list_dark_mode_color_red">#f28b82</color> <!-- Material Red 300 -->
+    <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 -->
+    <color name="palette_list_dark_mode_color_pink">#ff8bcb</color> <!-- Material Pink 300 -->
+
 </resources>
\ No newline at end of file
diff --git a/res/values/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..ef6b818 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -81,6 +81,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 +161,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 +219,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 +253,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 +267,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 +326,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 +345,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 +386,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 f8f696f..0c9fa05 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 -->
@@ -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>
@@ -4073,14 +4009,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 +4026,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 +4056,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 +4233,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 +4361,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 +4825,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 +4840,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 +4875,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 +4885,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,6 +4930,8 @@
     <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>
     <!-- Description of accessibility shortcut. [CHAR LIMIT=NONE] -->
@@ -4993,14 +4982,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 helps people who are sensitive to bright light see the screen more easily.<br/><br/>Note: Dark colors will turn light. Colors will change in media and images. You can also use Dark theme (Settings > Display).]]></string>
     <!-- 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">Auto click (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>
+    <!-- Option heading to leave the auto click requirement for accessibility users at its default level. [CHAR LIMIT=50] -->
+    <string name="accessibility_autoclick_default_title">Don\u2019t use auto click (default)</string>
+    <!-- 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 +5020,30 @@
     <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>
+    <string name="accessibility_caption_master_switch_title">Show captions</string>
+    <!-- Title for Caption preference settings screen for configuring font style. [CHAR LIMIT=NONE] -->
+    <string name="captioning_caption_appearance_title">Caption appearance</string>
+    <!-- Summary for Captions settings, explaining important settings under it. [CHAR LIMIT=NONE] -->
+    <string name="captioning_caption_appearance_summary">Text size, caption style</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>
+    <!-- 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 +5053,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] -->
@@ -5051,31 +5076,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">Red-green</string>
+    <!-- Title shown for protanomaly (red-green color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_protanomaly_title">Green-red</string>
+    <!-- Title shown for tritanomaly (blue-yellow color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_tritanomaly_title">Blue-yellow</string>
+    <!-- Summary shown for deuteranomaly (red-green color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_deuteranomaly_summary">Deuteranomaly</string>
+    <!-- Summary shown for protanomaly (red-green color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_protanomaly_summary">Protanomaly</string>
+    <!-- Summary shown for tritanomaly (blue-yellow color blindness) [CHAR LIMIT=45] -->
+    <string name="daltonizer_mode_tritanomaly_summary">Tritanomaly</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 +5148,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] -->
@@ -5558,13 +5601,9 @@
     <!-- Title for the smart battery toggle [CHAR LIMIT=NONE] -->
     <string name="smart_battery_title">Manage apps automatically</string>
     <!-- Summary for the smart battery toggle [CHAR LIMIT=NONE] -->
-    <string name="smart_battery_summary">Limit battery for apps that you don\u2019t use often</string>
+    <string name="smart_battery_summary" product="default">Limit battery for apps that you don\u2019t use often</string>
     <!-- Footer for the aosp smart battery page -->
-    <string name="smart_battery_footer" product="default">When Battery Manager detects that apps are draining battery, you\u2019ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed.</string>
-    <!-- Footer for the aosp smart battery page -->
-    <string name="smart_battery_footer" product="tablet">When Battery Manager detects that apps are draining battery, you\u2019ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed.</string>
-    <!-- Footer for the aosp smart battery page -->
-    <string name="smart_battery_footer" product="device">When Battery Manager detects that apps are draining battery, you\u2019ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed.</string>
+    <string name="smart_battery_footer">When Battery Manager detects that apps are draining battery, you\u2019ll have the option to restrict these apps. Restricted apps may not work properly and notifications may be delayed.</string>
     <!-- Title for restricted app preference, clicking it will goes to restricted app list [CHAR LIMIT=NONE] -->
     <string name="restricted_app_title">Restricted apps</string>
     <!-- Summary for restricted app preference, clicking it will goes to restricted app list [CHAR LIMIT=NONE] -->
@@ -5585,7 +5624,8 @@
     <string name="battery_auto_restriction_summary">Detect when apps drain battery</string>
 
     <!-- Summary for battery manager when it is on -->
-    <string name="battery_manager_on">On / Detecting when apps drain battery</string>
+    <string name="battery_manager_on" product="default">On / Detecting when apps drain battery</string>
+
     <!-- Summary for battery manager when it is off -->
     <string name="battery_manager_off">Off</string>
     <!-- Summary for battery manager, showing app restricted -->
@@ -5828,9 +5868,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 -->
@@ -6042,10 +6079,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] -->
@@ -6084,6 +6119,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 privacy is at risk</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 information, such as passwords, messages, or credit card details, from websites you visit or apps you use - even if that information 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 anyways</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>
@@ -6144,15 +6195,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>
@@ -6191,6 +6233,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>
@@ -6954,9 +7007,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>
@@ -6998,6 +7048,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] -->
@@ -7045,6 +7097,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] -->
@@ -7104,6 +7158,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>
@@ -7252,8 +7308,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] -->
@@ -7272,6 +7326,8 @@
     <string name="color_orange">Orange</string>
     <!-- Purple label.  [CHAR LIMIT=40] -->
     <string name="color_purple">Purple</string>
+    <!-- Pink label.  [CHAR LIMIT=40] -->
+    <string name="color_pink">Pink</string>
     <!-- Message informing the user that no SIM card is inserted  [CHAR LIMIT=60] -->
     <string name="sim_no_inserted_msg">No SIM cards inserted</string>
     <!-- SIM status title  [CHAR LIMIT=40] -->
@@ -7299,8 +7355,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] -->
@@ -7336,6 +7390,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]-->
@@ -7364,6 +7420,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]-->
@@ -7377,7 +7435,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>
@@ -7404,7 +7462,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>
@@ -7476,6 +7534,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>
 
@@ -7500,8 +7561,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>
@@ -7514,7 +7578,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>
@@ -7526,7 +7590,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>
@@ -7541,7 +7605,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>
@@ -7564,6 +7628,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>
 
@@ -7627,6 +7700,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>
 
@@ -7706,7 +7782,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>
@@ -7771,7 +7847,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>
@@ -7847,15 +7923,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]-->
@@ -7983,12 +8063,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>
 
@@ -8001,6 +8105,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] -->
@@ -8009,6 +8116,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] -->
@@ -8056,6 +8165,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>
 
@@ -8160,6 +8272,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-->
 
@@ -8224,7 +8372,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>
@@ -8267,6 +8415,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
@@ -8343,6 +8494,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>
 
@@ -8448,11 +8651,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>
 
@@ -8606,6 +8815,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>
 
@@ -8646,31 +8860,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>
@@ -8778,6 +9007,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>
 
@@ -8804,6 +9036,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] -->
@@ -8975,10 +9212,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>
@@ -9006,6 +9239,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>
@@ -9035,13 +9270,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>
@@ -9456,10 +9700,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>
 
@@ -9897,6 +10149,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>
@@ -10061,14 +10319,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 -->
@@ -10076,8 +10327,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>
 
@@ -10307,12 +10556,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]-->
@@ -10698,8 +10958,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] -->
@@ -10722,36 +10980,50 @@
     <!-- 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>
     </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]-->
@@ -10819,6 +11091,18 @@
     <!-- 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>
+
     <!-- Title for HFP(hands free profile) output switch button in settings. -->
     <string name="take_call_on_title">Take call on</string>
 
@@ -11226,9 +11510,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]-->
@@ -11246,14 +11527,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>
@@ -11278,6 +11555,10 @@
     <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>
@@ -11426,6 +11707,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] -->
@@ -11435,4 +11745,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..6ffd6df 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>
@@ -425,6 +462,12 @@
         <item name="rippleColor">?android:attr/colorControlHighlight</item>
     </style>
 
+    <style name="StickyCardStyle">
+        <item name="android:layout_marginBottom">@dimen/contextual_card_vertical_margin</item>
+        <item name="android:layout_marginStart">@dimen/contextual_card_side_margin</item>
+        <item name="android:layout_marginEnd">@dimen/contextual_card_side_margin</item>
+    </style>
+
     <style name="SearchBarStyle">
         <item name="android:layout_margin">@dimen/search_bar_margin</item>
         <item name="cardCornerRadius">@*android:dimen/config_dialogCornerRadius</item>
@@ -464,34 +507,7 @@
         <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>
@@ -501,29 +517,28 @@
     </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 +589,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 +672,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..f126113 100644
--- a/res/xml/accessibility_autoclick_settings.xml
+++ b/res/xml/accessibility_autoclick_settings.xml
@@ -16,12 +16,45 @@
 
 <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.RadioButtonPreference
+        android:key="accessibility_control_autoclick_default"
+        android:title="@string/accessibility_autoclick_default_title"
+        settings:allowDividerAbove="true" />
 
-    <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_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..ba0d6fd
--- /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.settingslib.widget.LayoutPreference
+        android:key="color_inversion_preview"
+        android:layout="@layout/color_inversion_preview"
+        android:persistent="false"
+        android:selectable="false"
+        android:title="@string/summary_placeholder"
+        settings:allowDividerAbove="true"
+        settings:allowDividerBelow="true"
+        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..74765b2
--- /dev/null
+++ b/res/xml/accessibility_magnification_service_settings.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.
+  -->
+
+<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">
+
+    <Preference
+        android:key="magnification_mode"
+        android:persistent="false"
+        android:title="@string/accessibility_magnification_mode_title"
+        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: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..6731dba 100644
--- a/res/xml/accessibility_magnification_settings.xml
+++ b/res/xml/accessibility_magnification_settings.xml
@@ -16,9 +16,7 @@
 <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">
+    android:title="@string/accessibility_screen_magnification_title">
     <Preference
         android:fragment="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
         android:key="screen_magnification_gestures_preference_screen"
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 3e27117..7ff68aa 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -15,134 +15,164 @@
 -->
 
 <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: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 +181,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..f552522
--- /dev/null
+++ b/res/xml/all_tether_prefs.xml
@@ -0,0 +1,94 @@
+<?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:title="@string/tethering_footer_info"
+        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..e9a34f1 100644
--- a/res/xml/billing_cycle.xml
+++ b/res/xml/billing_cycle.xml
@@ -16,6 +16,7 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="billing_cycle_settings"
     android:title="@string/billing_cycle">
 
@@ -39,4 +40,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..cce114b 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
@@ -36,4 +35,8 @@
         settings:useAdminDisabledSummary="true"
         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..c8cb46c 100644
--- a/res/xml/captioning_settings.xml
+++ b/res/xml/captioning_settings.xml
@@ -15,82 +15,25 @@
      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" >
 
-    <com.android.settingslib.widget.LayoutPreference
-        android:key="caption_preview"
-        android:title="@string/summary_placeholder"
-        android:layout="@layout/captioning_preview"
-        settings:searchable="false"/>
+    <SwitchPreference
+        android:key="captioning_preference_switch"
+        android:title="@string/accessibility_caption_master_switch_title" />
 
-    <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" />
+    <Preference
+        android:key="captioning_caption_appearance"
+        android:title="@string/captioning_caption_appearance_title"
+        android:summary="@string/captioning_caption_appearance_summary"
+        android:fragment="com.android.settings.accessibility.CaptionAppearanceFragment" />
 
-        <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" />
-
-        <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:key="captioning_more_options"
+        android:title="@string/captioning_more_options_title"
+        android:fragment="com.android.settings.accessibility.CaptionMoreOptionsFragment" />
 
     <com.android.settingslib.widget.FooterPreference
         android:title="@string/accessibility_caption_preference_summary"
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..f0977e8 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"
@@ -51,6 +50,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 +67,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 +97,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" />
@@ -117,6 +138,11 @@
             android:summary="@string/summary_placeholder"
             android:ringtoneType="notification"/>
 
+        <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"
             android:title="@string/fingerprint_swipe_for_notifications_title"
@@ -127,8 +153,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..bd8f1dd 100644
--- a/res/xml/connected_devices_advanced.xml
+++ b/res/xml/connected_devices_advanced.xml
@@ -17,24 +17,30 @@
 <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: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 +48,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 +56,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..1d6b13c
--- /dev/null
+++ b/res/xml/conversation_list_settings.xml
@@ -0,0 +1,51 @@
+<?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"/>
+        <SwitchPreference
+            android:key="important_bubble"
+            android:title="@string/important_bubble"
+            android:icon="@drawable/ic_create_bubble"
+            settings:controller="com.android.settings.notification.app.ImportantConversationBubblePreferenceController"/>
+        <!-- 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..4a917f6 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
@@ -27,4 +26,10 @@
         android:fragment="com.android.settings.datausage.UnrestrictedDataAccess"
         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/development_settings.xml b/res/xml/development_settings.xml
index 7cf52fa..834fb48 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"
@@ -482,7 +526,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 +572,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 +602,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..41396f0 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">
 
@@ -50,6 +49,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 +58,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 +67,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..5ac27e0 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
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..c72c8fb
--- /dev/null
+++ b/res/xml/graphics_driver_settings.xml
@@ -0,0 +1,45 @@
+<?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"
+        android:entries="@array/graphics_driver_all_apps_preference_values"
+        android:entryValues="@array/graphics_driver_all_apps_preference_values"
+        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..ef0f696 100644
--- a/res/xml/manage_assist.xml
+++ b/res/xml/manage_assist.xml
@@ -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_settings.xml b/res/xml/mobile_network_settings.xml
index 1a9b885..732967d 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,221 @@
     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"/>
+
+        <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..623460c 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,6 +44,7 @@
     <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:controller="com.android.settings.applications.AppPermissionsPreferenceController">
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..dfc5ce7 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"
diff --git a/res/xml/security_settings_face.xml b/res/xml/security_settings_face.xml
index e613470..cc45a96 100644
--- a/res/xml/security_settings_face.xml
+++ b/res/xml/security_settings_face.xml
@@ -25,7 +25,7 @@
         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 +71,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..b0498f8 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,6 +40,13 @@
     </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"
@@ -39,10 +54,10 @@
         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 +67,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 +107,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..70d55aa 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,10 @@
         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:title="@string/tethering_footer_info"
+        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..ad574d8 100644
--- a/res/xml/zen_mode_restrict_notifications_settings.xml
+++ b/res/xml/zen_mode_restrict_notifications_settings.xml
@@ -17,23 +17,22 @@
 
 <PreferenceScreen
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:key="zen_mode_restrict_settings_page"
     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"/>
 
-        <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"/>
 
-        <com.android.settings.notification.ZenCustomRadioButtonPreference
+        <com.android.settings.notification.zen.ZenCustomRadioButtonPreference
             android:key="zen_custom"
             android:title="@string/zen_mode_restrict_notifications_custom" />
 
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..a15ad1f
--- /dev/null
+++ b/src/com/android/settings/AllInOneTetherSettings.java
@@ -0,0 +1,422 @@
+/*
+ * 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.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 final 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));
+
+        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..4e8e8fe 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().isGlobalModeEnabled()) {
             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..de89e3c 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -24,12 +24,11 @@
 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.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.Log;
@@ -37,6 +36,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 +51,9 @@
 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.List;
 
 /**
  * Implements the preference screen to enable/disable ICC lock and
@@ -111,7 +110,7 @@
     private TabWidget mTabWidget;
     private ListView mListView;
 
-    private Phone mPhone;
+    private ProxySubscriptionManager mProxySubscriptionMgr;
 
     private EditPinPreference mPinDialog;
     private SwitchPreference mPinToggle;
@@ -119,24 +118,18 @@
     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 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 +142,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 +171,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 +218,12 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
 
-        final TelephonyManager tm =
-                (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
-        final int numSims = tm.getSimCount();
+        final int numSims = mProxySubscriptionMgr.getActiveSubscriptionInfoCountMax();
         if (numSims > 1) {
-            View view = inflater.inflate(R.layout.icc_lock_tabs, container, false);
+            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 +234,24 @@
             mTabHost.setOnTabChangedListener(mTabListener);
             mTabHost.clearAllTabs();
 
-            SubscriptionManager sm = SubscriptionManager.from(getContext());
+            final List<SubscriptionInfo> subInfoList =
+                    mProxySubscriptionMgr.getActiveSubscriptionsInfo();
             for (int i = 0; i < numSims; ++i) {
-                final SubscriptionInfo subInfo = sm.getActiveSubscriptionInfoForSimSlotIndex(i);
+                final SubscriptionInfo subInfo =
+                        getActiveSubscriptionInfoForSimSlotIndex(subInfoList, i);
                 mTabHost.addTab(buildTabSpec(String.valueOf(i),
                         String.valueOf(subInfo == null
                             ? getContext().getString(R.string.sim_editor_title, i + 1)
                             : subInfo.getDisplayName())));
             }
-            final SubscriptionInfo sir = sm.getActiveSubscriptionInfoForSimSlotIndex(0);
-
-            mPhone = (sir == null) ? null
-                : PhoneFactory.getPhone(SubscriptionManager.getPhoneId(sir.getSubscriptionId()));
+            final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, 0);
+            mSubId = sir.getSubscriptionId();
 
             if (savedInstanceState != null && savedInstanceState.containsKey(CURRENT_TAB)) {
                 mTabHost.setCurrentTabByTag(savedInstanceState.getString(CURRENT_TAB));
             }
             return view;
         } else {
-            mPhone = PhoneFactory.getDefaultPhone();
             return super.onCreateView(inflater, container, savedInstanceState);
         }
     }
@@ -265,14 +263,20 @@
     }
 
     private void updatePreferences() {
+
+        final List<SubscriptionInfo> subInfoList =
+                mProxySubscriptionMgr.getActiveSubscriptionsInfo();
+        final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(subInfoList, 0);
+        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 +292,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 +460,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 +518,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();
@@ -516,12 +544,13 @@
         params.format = PixelFormat.TRANSLUCENT;
         params.windowAnimations = com.android.internal.R.style.Animation_Toast;
         params.type = WindowManager.LayoutParams.TYPE_STATUS_BAR_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 +562,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 +637,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()));
+            final SubscriptionInfo sir = getActiveSubscriptionInfoForSimSlotIndex(
+                    mProxySubscriptionMgr.getActiveSubscriptionsInfo(), slotId);
 
             // 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..a29ec95 100644
--- a/src/com/android/settings/TetherSettings.java
+++ b/src/com/android/settings/TetherSettings.java
@@ -36,14 +36,15 @@
 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;
@@ -120,9 +121,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);
@@ -444,7 +442,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 +453,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..315cba1 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;
             }
@@ -950,9 +934,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 +1044,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..c96013f
--- /dev/null
+++ b/src/com/android/settings/accessibility/AccessibilityEditDialogUtils.java
@@ -0,0 +1,316 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.setTint(getThemeAttrColor(context, android.R.attr.textColorPrimary));
+        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..0c8644f 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,12 @@
         final int indexIconStart = messageString.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.setTint(getThemeAttrColor(context, android.R.attr.textColorPrimary));
         icon.setBounds(0, 0, lineHeight, lineHeight);
         spannableMessage.setSpan(
-                new ImageSpan(icon), indexIconStart, indexIconEnd,
+                imageSpan, indexIconStart, indexIconEnd,
                 Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
 
         return spannableMessage;
@@ -203,15 +202,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..c2b29a6 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,12 +69,15 @@
  * 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;
 
+    private static final String EMPTY_STRING = "";
+
     // Preference categories
     private static final String CATEGORY_SCREEN_READER = "screen_reader_category";
     private static final String CATEGORY_AUDIO_AND_CAPTIONS = "audio_and_captions_category";
@@ -102,45 +92,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 +115,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 +124,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 +163,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 +170,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
@@ -296,257 +216,122 @@
     @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 serviceSummary = info.loadSummary(context.getPackageManager());
+
+        final int fragmentType = AccessibilityUtil.getAccessibilityServiceFragmentType(info);
+        if (fragmentType == AccessibilityServiceFragmentType.INVISIBLE) {
+            return TextUtils.isEmpty(serviceSummary) ? EMPTY_STRING : serviceSummary;
+        }
+
+        final CharSequence serviceState = serviceEnabled
+                ? context.getText(R.string.accessibility_summary_state_enabled)
+                : context.getText(R.string.accessibility_summary_state_disabled);
         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 +343,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 +360,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 +389,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);
@@ -742,287 +487,253 @@
             experimentalCategory.removePreference(mDisplayDaltonizerPreferenceScreen);
             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);
+
+                putBasicExtras(preference, prefKey, title, description, imageRes, htmlDescription,
+                        componentName);
+
+                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..76fb3ff
--- /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 DEFAULT} 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.DEFAULT,
+            UserShortcutType.SOFTWARE,
+            UserShortcutType.HARDWARE,
+            UserShortcutType.TRIPLETAP,
+    })
+
+    /** Denotes the user shortcut type. */
+    public @interface UserShortcutType {
+        int DEFAULT = 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.DEFAULT;
+        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..d31465e
--- /dev/null
+++ b/src/com/android/settings/accessibility/CaptionAppearanceFragment.java
@@ -0,0 +1,413 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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;
+    }
+
+    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..a785424
--- /dev/null
+++ b/src/com/android/settings/accessibility/CaptionMoreOptionsFragment.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.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;
+    }
+
+    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..0034fe6 100644
--- a/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
+++ b/src/com/android/settings/accessibility/CaptionPropertiesFragment.java
@@ -19,79 +19,37 @@
 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 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<>();
 
@@ -109,315 +67,37 @@
         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);
+        mTextAppearance = (Preference) findPreference(PREF_TEXT);
+        mMoreOptions = (Preference) findPreference(PREF_MORE);
 
-        // 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);
+        mPreferenceList.add(mTextAppearance);
+        mPreferenceList.add(mMoreOptions);
     }
 
     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;
-        }
-    }
-
-    @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();
-        } 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;
     }
+
+    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..93064c5
--- /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.OnClickListener{
+
+    @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 onCheckboxClicked(ShortcutPreference preference) {
+        super.onCheckboxClicked(preference);
+        boolean enabled = getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED)
+                && preference.getChecked();
+
+        AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, enabled);
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Enables accessibility service when user clicks permission allow button.
+     */
+    @Override
+    void onDialogButtonFromShortcutClicked(View view) {
+        super.onDialogButtonFromShortcutClicked(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..08e6619
--- /dev/null
+++ b/src/com/android/settings/accessibility/LaunchAccessibilityActivityPreferenceFragment.java
@@ -0,0 +1,134 @@
+/*
+ * 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.util.Log;
+import android.view.View;
+import android.view.accessibility.AccessibilityManager;
+
+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);
+    }
+
+    @Override
+    public void onSettingsClicked(ShortcutPreference preference) {
+        super.onSettingsClicked(preference);
+        showDialog(DialogEnums.EDIT_SHORTCUT);
+    }
+
+    @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.");
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/LegacyAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/LegacyAccessibilityServicePreferenceFragment.java
new file mode 100644
index 0000000..2739b6b
--- /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.setSettingsVisibility(View.GONE);
+
+        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..7ac7bef
--- /dev/null
+++ b/src/com/android/settings/accessibility/MagnificationPreferenceController.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.R;
+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 mContext.getResources().getText(
+                R.string.accessibility_screen_magnification_navbar_title);
+    }
+
+    @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..2b618cb 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,7 +23,6 @@
 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.accessibility.AccessibilityManager;
@@ -36,12 +33,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.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
@@ -134,7 +129,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 +156,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..00b63b6
--- /dev/null
+++ b/src/com/android/settings/accessibility/ShortcutPreference.java
@@ -0,0 +1,185 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.widget.CheckBox;
+import android.widget.LinearLayout;
+
+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 checkbox or settings has been
+     * clicked.
+     */
+    public interface OnClickListener {
+        /**
+         * Called when the checkbox in ShortcutPreference has been clicked.
+         *
+         * @param preference The clicked preference
+         */
+        void onCheckboxClicked(ShortcutPreference preference);
+        /**
+         * Called when the settings view has been clicked.
+         *
+         * @param preference The clicked preference
+         */
+        void onSettingsClicked(ShortcutPreference preference);
+    }
+    private OnClickListener mListener = null;
+
+    private static final float DISABLED_ALPHA = 0.77f;
+    private static final float ENABLED_ALPHA = 1.0f;
+    private int mSettingsVisibility = View.VISIBLE;
+    private boolean mAutoEnabledSettings;
+    private boolean mChecked = false;
+
+    ShortcutPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        init();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        final LinearLayout mainFrame = holder.itemView.findViewById(R.id.main_frame);
+        if (mainFrame != null) {
+            mainFrame.setOnClickListener(view -> callOnCheckboxClicked());
+        }
+
+        final CheckBox checkBox = holder.itemView.findViewById(R.id.checkbox);
+        if (checkBox != null) {
+            checkBox.setChecked(mChecked);
+        }
+
+
+        final View settings = holder.itemView.findViewById(android.R.id.widget_frame);
+        if (settings != null) {
+            settings.setOnClickListener(view -> callOnSettingsClicked());
+            settings.setEnabled(mAutoEnabledSettings ? mChecked : /* enabled */ true);
+
+            float alpha;
+            if (mAutoEnabledSettings) {
+                alpha = mChecked ? ENABLED_ALPHA : DISABLED_ALPHA;
+            } else {
+                alpha = ENABLED_ALPHA;
+            }
+
+            settings.setAlpha(alpha);
+            settings.setVisibility(mSettingsVisibility);
+        }
+
+        final View divider = holder.itemView.findViewById(R.id.divider);
+        if (divider != null) {
+            divider.setVisibility(mSettingsVisibility);
+        }
+    }
+
+    /**
+     * Sets the shortcut checkbox according to checked value.
+     *
+     * @param checked the state value of shortcut checkbox
+     */
+    public void setChecked(boolean checked) {
+        if (mChecked != checked) {
+            mChecked = checked;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Gets the checked value of shortcut checkbox.
+     *
+     * @return the checked value of shortcut checkbox
+     */
+    public boolean getChecked() {
+        return mChecked;
+    }
+
+    /**
+     * Automatically/Manually enable settings according to checkbox click status.
+     *
+     * Automatically enable settings means settings view enabled when checkbox is clicked, and
+     * disabled when checkbox is not clicked.
+     * Manually enable settings means settings view always enabled.
+     *
+     * @param autoEnabled True will automatically enable settings, false will let settings view
+     *                    always enabled.
+     */
+    public void setAutoEnabledSettings(boolean autoEnabled) {
+        if (mAutoEnabledSettings != autoEnabled) {
+            mAutoEnabledSettings = autoEnabled;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Sets the visibility state of Settings view.
+     *
+     * @param visibility one of {@link View#VISIBLE}, {@link View#INVISIBLE}, or {@link View#GONE}.
+     */
+    public void setSettingsVisibility(@View.Visibility int visibility) {
+        if (mSettingsVisibility != visibility) {
+            mSettingsVisibility = visibility;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Sets the callback to be invoked when this preference is clicked by the user.
+     *
+     * @param listener the callback to be invoked
+     */
+    public void setOnClickListener(OnClickListener listener) {
+        mListener = listener;
+    }
+
+    private void init() {
+        setLayoutResource(R.layout.accessibility_shortcut_secondary_action);
+        setWidgetLayoutResource(R.layout.preference_widget_settings);
+        setIconSpaceReserved(false);
+        mAutoEnabledSettings = true;
+
+        // Disable whole component to let each child component can be addressed.
+        setSelectable(false);
+    }
+
+    private void callOnSettingsClicked() {
+        if (mListener != null) {
+            mListener.onSettingsClicked(this);
+        }
+    }
+
+    private void callOnCheckboxClicked() {
+        setChecked(!mChecked);
+        if (mListener != null) {
+            mListener.onCheckboxClicked(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..df97607 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,48 @@
     @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: {
+                final AccessibilityServiceInfo info = getAccessibilityServiceInfo();
                 if (info == null) {
                     return null;
                 }
                 mDialog = AccessibilityServiceWarning
-                        .createDisableDialog(getActivity(), info, this);
+                        .createCapabilitiesDialog(getPrefContext(), info,
+                                this::onDialogButtonFromShortcutClicked);
                 break;
             }
-            case DIALOG_ID_LAUNCH_ACCESSIBILITY_TUTORIAL: {
-                if (isGestureNavigateEnabled()) {
+            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 +173,37 @@
 
     @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:
+                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 +220,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 +230,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 +254,7 @@
     }
 
     private void handleConfirmServiceEnabled(boolean confirmed) {
-        mSwitchBar.setCheckedInternal(confirmed);
+        mToggleServiceDividerSwitchPreference.setChecked(confirmed);
         getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, confirmed);
         onPreferenceToggled(mPreferenceKey, confirmed);
     }
@@ -284,23 +277,33 @@
     }
 
     @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 onCheckboxClicked(ShortcutPreference preference) {
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        if (preference.getChecked()) {
+            if (!getArguments().getBoolean(AccessibilitySettings.EXTRA_CHECKED)) {
+                preference.setChecked(false);
+                showPopupDialog(DialogEnums.ENABLE_WARNING_FROM_SHORTCUT);
+            } else {
+                AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes,
+                        mComponentName);
             }
-        });
+        } else {
+            AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), shortcutTypes,
+                    mComponentName);
+            getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED, false);
+        }
+    }
+
+    @Override
+    public void onSettingsClicked(ShortcutPreference preference) {
+        super.onSettingsClicked(preference);
+        showPopupDialog(DialogEnums.EDIT_SHORTCUT);
     }
 
     @Override
@@ -321,5 +324,122 @@
         }
 
         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 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() {
+        mShortcutPreference.setChecked(true);
+
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes, mComponentName);
+
+        mDialog.dismiss();
+    }
+
+    private void onDenyButtonFromShortcutClicked() {
+        mShortcutPreference.setChecked(false);
+
+        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.getChecked()) {
+                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..ec5784e
--- /dev/null
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.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.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 static final int DIALOG_ID_EDIT_SHORTCUT = 1;
+    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(DIALOG_ID_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..838a758 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.OnClickListener {
 
+    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.DEFAULT;
+    // Used to restore the edit dialog status.
+    private int mUserShortcutTypeCache = UserShortcutType.DEFAULT;
+    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,131 @@
     }
 
     @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 > Toggle use service to
+         * disable service.
+         */
+        int DISABLE_WARNING_FROM_TOGGLE = 1004;
+
+        /**
+         * OPEN: Settings > Accessibility > Magnification > Toggle user service in button
+         * navigation.
+         */
+        int ACCESSIBILITY_BUTTON_TUTORIAL = 1005;
+
+        /**
+         * OPEN: Settings > Accessibility > Magnification > Toggle user service in gesture
+         * navigation.
+         */
+        int GESTURE_NAVIGATION_TUTORIAL = 1006;
+
+        /**
+         * OPEN: Settings > Accessibility > Downloaded toggle service > Toggle user service > Show
+         * launch tutorial.
+         */
+        int LAUNCH_ACCESSIBILITY_TUTORIAL = 1007;
+    }
+
+    @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 +348,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 +359,327 @@
         // 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 mUserShortcutType;
+
+        AccessibilityUserShortcutType(String componentName, int userShortcutType) {
+            this.mComponentName = componentName;
+            this.mUserShortcutType = userShortcutType;
+        }
+
+        AccessibilityUserShortcutType(String flattenedString) {
+            sStringColonSplitter.setString(flattenedString);
+            if (sStringColonSplitter.hasNext()) {
+                this.mComponentName = sStringColonSplitter.next();
+                this.mUserShortcutType = Integer.parseInt(sStringColonSplitter.next());
+            }
+        }
+
+        String getComponentName() {
+            return mComponentName;
+        }
+
+        void setComponentName(String componentName) {
+            this.mComponentName = componentName;
+        }
+
+        int getUserShortcutType() {
+            return mUserShortcutType;
+        }
+
+        void setUserShortcutType(int userShortcutType) {
+            this.mUserShortcutType = userShortcutType;
+        }
+
+        String flattenToString() {
+            final StringJoiner joiner = new StringJoiner(String.valueOf(COMPONENT_NAME_SEPARATOR));
+            joiner.add(mComponentName);
+            joiner.add(String.valueOf(mUserShortcutType));
+            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();
+        updateAlertDialogEnableState();
+    }
+
+    private void updateAlertDialogCheckState() {
+        updateCheckStatus(mSoftwareTypeCheckBox, UserShortcutType.SOFTWARE);
+        updateCheckStatus(mHardwareTypeCheckBox, UserShortcutType.HARDWARE);
+    }
+
+    private void updateAlertDialogEnableState() {
+        if (!mSoftwareTypeCheckBox.isChecked()) {
+            mHardwareTypeCheckBox.setEnabled(false);
+        } else if (!mHardwareTypeCheckBox.isChecked()) {
+            mSoftwareTypeCheckBox.setEnabled(false);
+        } else {
+            mSoftwareTypeCheckBox.setEnabled(true);
+            mHardwareTypeCheckBox.setEnabled(true);
+        }
+    }
+
+    private void updateCheckStatus(CheckBox checkBox, @UserShortcutType int type) {
+        checkBox.setChecked((mUserShortcutTypeCache & type) == type);
+        checkBox.setOnClickListener(v -> {
+            updateUserShortcutType(/* saveChanges= */ false);
+            updateAlertDialogEnableState();
+        });
+    }
+
+    private void updateUserShortcutType(boolean saveChanges) {
+        mUserShortcutTypeCache = UserShortcutType.DEFAULT;
+        if (mSoftwareTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.SOFTWARE;
+        }
+        if (mHardwareTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.HARDWARE;
+        }
+        if (saveChanges) {
+            mUserShortcutType = mUserShortcutTypeCache;
+            setUserShortcutType(getPrefContext(), mUserShortcutType);
+        }
+    }
+
+    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);
+    }
+
+    private String getShortcutTypeSummary(Context context) {
+        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.getUserShortcutType();
+    }
+
+    private void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
+        if (mComponentName == null) {
+            return;
+        }
+
+        updateUserShortcutType(/* saveChanges= */ true);
+        if (mShortcutPreference.getChecked()) {
+            AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), mUserShortcutType,
+                    mComponentName);
+            AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), ~mUserShortcutType,
+                    mComponentName);
+        }
+        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.DEFAULT) {
+            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.DEFAULT);
+        }
+
+        // Initial the shortcut preference.
+        mShortcutPreference = new ShortcutPreference(getPrefContext(), null);
+        mShortcutPreference.setPersistent(false);
+        mShortcutPreference.setKey(getShortcutPreferenceKey());
+        mShortcutPreference.setOnClickListener(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 onCheckboxClicked(ShortcutPreference preference) {
+        if (mComponentName == null) {
+            return;
+        }
+
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        if (preference.getChecked()) {
+            AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes,
+                    mComponentName);
+        } else {
+            AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), shortcutTypes,
+                    mComponentName);
+        }
+    }
+
+    @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..e31feaa 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.DEFAULT;
+    // Used to restore the edit dialog status.
+    private int mUserShortcutTypeCache = UserShortcutType.DEFAULT;
+    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,232 @@
         }
     }
 
-    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();
+        updateAlertDialogEnableState();
+
+        // 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 updateAlertDialogEnableState() {
+        if (!mSoftwareTypeCheckBox.isChecked() && !mTripleTapTypeCheckBox.isChecked()) {
+            mHardwareTypeCheckBox.setEnabled(false);
+        } else if (!mHardwareTypeCheckBox.isChecked() && !mTripleTapTypeCheckBox.isChecked()) {
+            mSoftwareTypeCheckBox.setEnabled(false);
+        } else if (!mSoftwareTypeCheckBox.isChecked() && !mHardwareTypeCheckBox.isChecked()) {
+            mTripleTapTypeCheckBox.setEnabled(false);
+        } else {
+            mSoftwareTypeCheckBox.setEnabled(true);
+            mHardwareTypeCheckBox.setEnabled(true);
+            mTripleTapTypeCheckBox.setEnabled(true);
+        }
+    }
+
+    private void updateCheckStatus(CheckBox checkBox, @UserShortcutType int type) {
+        checkBox.setChecked((mUserShortcutTypeCache & type) == type);
+        checkBox.setOnClickListener(v -> {
+            updateUserShortcutType(/* saveChanges= */ false);
+            updateAlertDialogEnableState();
+        });
+    }
+
+    private void updateUserShortcutType(boolean saveChanges) {
+        mUserShortcutTypeCache = UserShortcutType.DEFAULT;
+        if (mSoftwareTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.SOFTWARE;
+        }
+        if (mHardwareTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.HARDWARE;
+        }
+        if (mTripleTapTypeCheckBox.isChecked()) {
+            mUserShortcutTypeCache |= UserShortcutType.TRIPLETAP;
+        }
+        if (saveChanges) {
+            mUserShortcutType = mUserShortcutTypeCache;
+            setUserShortcutType(getPrefContext(), mUserShortcutType);
+        }
+    }
+
+    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);
+    }
+
+    private String getShortcutTypeSummary(Context context) {
+        final int shortcutType = getUserShortcutType(context, UserShortcutType.DEFAULT);
+        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);
         }
 
-        return mDialog;
+        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.getUserShortcutType();
+    }
+
+    private void callOnAlertDialogCheckboxClicked(DialogInterface dialog, int which) {
+        updateUserShortcutType(/* saveChanges= */ true);
+        if (mShortcutPreference.getChecked()) {
+            optInAllMagnificationValuesToSettings(getPrefContext(), mUserShortcutType);
+            optOutAllMagnificationValuesFromSettings(getPrefContext(), ~mUserShortcutType);
+        }
+        mShortcutPreference.setSummary(
+                getShortcutTypeSummary(getPrefContext()));
     }
 
     @Override
@@ -193,12 +397,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 +414,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 +436,199 @@
 
         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 onCheckboxClicked(ShortcutPreference preference) {
+        final int shortcutTypes = getUserShortcutType(getPrefContext(), UserShortcutType.SOFTWARE);
+        if (preference.getChecked()) {
+            optInAllMagnificationValuesToSettings(getPrefContext(), shortcutTypes);
+        } else {
+            optOutAllMagnificationValuesFromSettings(getPrefContext(), shortcutTypes);
+        }
+    }
+
+    @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.DEFAULT) {
+            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.setOnClickListener(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.DEFAULT;
+        if (hasMagnificationValuesInSettings(context, UserShortcutType.SOFTWARE)) {
+            shortcutTypes |= UserShortcutType.SOFTWARE;
         }
-        mConfigWarningPreference.setVisible(warningMessage != null);
-    }
-
-    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;
+        if (hasMagnificationValuesInSettings(context, UserShortcutType.HARDWARE)) {
+            shortcutTypes |= UserShortcutType.HARDWARE;
+        }
+        if (hasMagnificationValuesInSettings(context, UserShortcutType.TRIPLETAP)) {
+            shortcutTypes |= UserShortcutType.TRIPLETAP;
+        }
+        return shortcutTypes;
     }
 }
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/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..5a69035
--- /dev/null
+++ b/src/com/android/settings/applications/AppStateManageExternalStorageBridge.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.applications;
+
+import android.Manifest;
+import android.app.AppOpsManager;
+import android.content.Context;
+
+import com.android.settingslib.applications.ApplicationsState;
+
+/**
+ * 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 int APP_OPS_OP_CODE = AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE;
+    private static final String[] PERMISSIONS = {
+            Manifest.permission.MANAGE_EXTERNAL_STORAGE
+    };
+
+    public AppStateManageExternalStorageBridge(Context context, ApplicationsState appState,
+            Callback callback) {
+        super(context, appState, callback, APP_OPS_OP_CODE, PERMISSIONS);
+    }
+
+    @Override
+    protected void updateExtraInfo(ApplicationsState.AppEntry app, String pkg, int uid) {
+        app.extraInfo = getManageExternalStoragePermState(pkg, uid);
+    }
+
+    /**
+     * Returns the MANAGE_EXTERNAL_STORAGE {@link AppStateAppOpsBridge.PermissionState} object
+     * associated with the given package and user.
+     */
+    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..1b14402 100644
--- a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
@@ -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);
         }
     }
 
@@ -466,19 +467,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..63ce440
--- /dev/null
+++ b/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.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.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.annotation.VisibleForTesting;
+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.setMode(AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE,
+                mPackageInfo.applicationInfo.uid, mPackageName, 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..54af16f 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -29,18 +29,25 @@
 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.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 +75,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 +92,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 +101,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 +144,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 +152,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 +159,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 +179,14 @@
     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
+    private static final long CHANGE_RESTRICT_SAW_INTENT = 135920175L;
 
     // sort order
     @VisibleForTesting
@@ -209,6 +225,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 +252,7 @@
     private int mStorageType;
     private boolean mIsWorkOnly;
     private int mWorkUserId;
+    private boolean mIsPersonalOnly;
     private View mEmptyView;
     private int mFilterType;
 
@@ -243,6 +261,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 +293,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 +314,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 +332,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 +360,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 +409,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 +460,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 +480,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 +502,6 @@
         } else if (listType == LIST_TYPE_PHOTOGRAPHY) {
             return new CompoundFilter(ApplicationsState.FILTER_PHOTOS, filter);
         }
-
         return null;
     }
 
@@ -485,6 +535,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 +557,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 +602,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 +654,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 +731,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 +760,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 +825,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 +1052,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 +1210,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 +1243,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 +1283,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 +1459,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 +1505,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 +1596,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..3e534b3 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);
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..61c417c 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -21,6 +21,8 @@
 import android.content.pm.PackageManager;
 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;
@@ -50,6 +52,9 @@
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
+        Log.d(TAG, "Min strength: " + getIntent()
+                .getIntExtra(Settings.EXTRA_BIOMETRIC_MINIMUM_STRENGTH_REQUIRED, 0));
+
         final PackageManager pm = getApplicationContext().getPackageManager();
         Intent intent = null;
 
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..08cfa70 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,18 @@
                 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);
+                    }
+                    return keys;
+                }
+            };
 }
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..3778862 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;
@@ -76,6 +79,8 @@
         mDevicePreferenceCallback = devicePreferenceCallback;
         mPreferenceMap = new HashMap<>();
         mLocalManager = localManager;
+        mMetricsFeatureProvider = FeatureFactory.getFactory(mFragment.getContext())
+                .getMetricsFeatureProvider();
     }
 
     /**
@@ -207,6 +212,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 +232,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 +284,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/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 6e37b16..57697a6 100644
--- a/src/com/android/settings/core/SettingsBaseActivity.java
+++ b/src/com/android/settings/core/SettingsBaseActivity.java
@@ -111,7 +111,7 @@
         filter.addDataScheme(DATA_SCHEME_PKG);
         registerReceiver(mPackageReceiver, filter);
 
-        new CategoriesUpdateTask().execute();
+        updateCategories();
     }
 
     @Override
@@ -156,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);
     }
 
@@ -225,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..aa5a60e 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,
+                pageId, /* target pageId */
                 null /* changedPreferenceKey */,
-                0 /* changedPreferenceIntValue */);
+                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 */);
+                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/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..f3f2a3a 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));
@@ -480,6 +502,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 +517,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 +538,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 +571,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/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
index 9ffcc47..ecdc4df 100644
--- a/src/com/android/settings/development/OWNERS
+++ b/src/com/android/settings/development/OWNERS
@@ -1,8 +1,9 @@
 # Default reviewers for this and subdirectories.
-asargent@google.com
-dling@google.com
-zhfan@google.com
+edgarwang@google.com
+emilychuang@google.com
+rafftsai@google.com
+tmfang@google.com
+
 
 # Emergency approvers in case the above are not available
-asapperstein@google.com
-miket@google.com
+zhfan@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..71907b6
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceController.java
@@ -0,0 +1,257 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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();
+        bluetoothA2dp.setCodecConfigPreference(null, 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;
+        }
+        final BluetoothCodecStatus codecStatus = bluetoothA2dp.getCodecStatus(null);
+        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;
+        }
+        final BluetoothCodecStatus codecStatus = bluetoothA2dp.getCodecStatus(device);
+        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) {
+        final BluetoothCodecConfig[] configs = getSelectableConfigs(null);
+        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..c2977a8
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceController.java
@@ -0,0 +1,190 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.getOptionalCodecsEnabled(activeDevice)
+                == BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED) {
+            BluetoothCodecConfig[] configs = getSelectableConfigs(null);
+            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(null));
+                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..8008188
--- /dev/null
+++ b/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.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.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.supportsOptionalCodecs(activeDevice)
+                == BluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
+        mPreference.setEnabled(supported);
+        if (supported) {
+            final boolean isEnabled = bluetoothA2dp.getOptionalCodecsEnabled(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;
+        bluetoothA2dp.setOptionalCodecsEnabled(bluetoothA2dp.getActiveDevice(), prefValue);
+        if (enabled) {
+            bluetoothA2dp.enableOptionalCodecs(null); // Use current active device
+        } else {
+            bluetoothA2dp.disableOptionalCodecs(null); // Use current active device
+        }
+        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..2013b45
--- /dev/null
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceController.java
@@ -0,0 +1,299 @@
+/*
+ * 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.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.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 static final String PROPERTY_GFX_DRIVER_GAME = "ro.gfx.driver.0";
+    private static final String PROPERTY_GFX_DRIVER_PRERELEASE = "ro.gfx.driver.1";
+
+    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 = constructEntryList();
+
+        // 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);
+    }
+
+    /**
+     * Constructs and returns a list of graphics driver choices.
+     */
+    public CharSequence[] constructEntryList() {
+        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(mPreferenceDefault);
+        if (!TextUtils.isEmpty(prereleaseDriverPackageName)) {
+            entryList.add(mPreferencePrereleaseDriver);
+        }
+        if (!TextUtils.isEmpty(gameDriverPackageName)) {
+            entryList.add(mPreferenceGameDriver);
+        }
+        entryList.add(mPreferenceSystem);
+        CharSequence[] filteredEntryList = new CharSequence[entryList.size()];
+        filteredEntryList = entryList.toArray(filteredEntryList);
+        return filteredEntryList;
+    }
+
+    // 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..4baa993
--- /dev/null
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableForAllAppsPreferenceController.java
@@ -0,0 +1,150 @@
+/*
+ * 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.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 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;
+
+    private final Context mContext;
+    private final ContentResolver mContentResolver;
+    private final String mPreferenceDefault;
+    private final String mPreferenceGameDriver;
+    private final String mPreferencePrereleaseDriver;
+    @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);
+        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.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);
+    }
+}
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..38626ca 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(
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..2048be0 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.isGlobalModeEnabled();
     }
 
     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..97ee221 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.TimePickerDialog;
+import android.app.UiModeManager;
 import android.content.Context;
 import android.os.Bundle;
 import android.app.settings.SettingsEnums;
+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.time.LocalTime;
+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,18 @@
         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);
 }
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/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/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/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..9e78388 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,26 +40,28 @@
 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";
 
@@ -105,6 +106,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);
@@ -254,9 +258,9 @@
 
     @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;
@@ -325,19 +329,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..53782e5 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;
@@ -37,6 +40,7 @@
 import com.android.settings.SubSettings;
 import com.android.settings.Utils;
 import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
+import com.android.settings.bluetooth.BluetoothPairingDetail;
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.slices.CustomSliceRegistry;
@@ -63,14 +67,13 @@
      * 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";
 
@@ -87,43 +90,41 @@
 
     @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));
-
         // According to the displayable device count to add bluetooth device rows.
         for (int i = 0; i < deviceCount; i++) {
             listBuilder.addRow(rows.get(i));
@@ -184,7 +185,8 @@
 
         // Get all connected devices and sort them.
         return cachedDevices.stream()
-                .filter(device -> device.getDevice().isConnected())
+                .filter(device -> device.getDevice().getBondState() == BluetoothDevice.BOND_BONDED
+                        && device.getDevice().isConnected())
                 .sorted(COMPARATOR).collect(Collectors.toList());
     }
 
@@ -201,7 +203,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,6 +223,22 @@
         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<>();
@@ -270,8 +288,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..05531d6 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);
         }
 
@@ -117,13 +120,6 @@
             swipeBackground.setVisibility(View.GONE);
         }
         sliceLiveData.observe(mLifecycleOwner, slice -> {
-            if (slice == null) {
-                Log.w(TAG, "Slice is null");
-                mContext.getContentResolver().notifyChange(CardContentProvider.REFRESH_CARD_URI,
-                        null);
-                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 +128,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 +166,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/SliceFullCardRendererHelper.java b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
index 3f35fb5..f634d43 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.homepage.contextualcards.slices;
 
+import static com.android.settings.homepage.contextualcards.slices.SliceContextualCardRenderer.VIEW_TYPE_STICKY;
+
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.view.View;
@@ -75,7 +77,9 @@
         // Customize slice view for Settings
         cardHolder.sliceView.setShowTitleItems(true);
         if (card.isLargeCard()) {
-            cardHolder.sliceView.setShowHeaderDivider(true);
+            if (holder.getItemViewType() != VIEW_TYPE_STICKY) {
+                cardHolder.sliceView.setShowHeaderDivider(true);
+            }
             cardHolder.sliceView.setShowActionDividers(true);
         }
     }
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/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..0666e0b 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;
@@ -39,6 +41,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 +52,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 +61,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;
@@ -304,4 +312,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..20f1150 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,8 +107,13 @@
         notifySliceChange();
     }
 
-    public List<MediaDevice> getMediaDevices() {
-        return new ArrayList<>(mMediaDevices);
+    @Override
+    public void onDeviceAttributesChanged() {
+        notifySliceChange();
+    }
+
+    public Collection<MediaDevice> getMediaDevices() {
+        return mMediaDevices;
     }
 
     public void connectDevice(MediaDevice device) {
@@ -101,10 +123,61 @@
     }
 
     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;
+    }
+
+    /**
+     * 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);
+        });
+    }
+
+    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/MediaOutputIndicatorSlice.java b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
index 0ffa9ff..de2f85f 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorSlice.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
@@ -23,8 +23,9 @@
 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;
@@ -36,6 +37,8 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.slices.CustomSliceable;
+import com.android.settings.slices.SliceBackgroundWorker;
+import com.android.settings.slices.SliceBroadcastReceiver;
 import com.android.settingslib.bluetooth.A2dpProfile;
 import com.android.settingslib.bluetooth.HearingAidProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -52,6 +55,7 @@
     private Context mContext;
     private LocalBluetoothManager mLocalBluetoothManager;
     private LocalBluetoothProfileManager mProfileManager;
+    private MediaOutputIndicatorWorker mWorker;
 
     public MediaOutputIndicatorSlice(Context context) {
         mContext = context;
@@ -66,33 +70,37 @@
     @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)
+                        .setTitleItem(createEmptyIcon(), ListBuilder.ICON_IMAGE)
                         .setSubtitle(findActiveDeviceName())
                         .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,16 +120,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
+        // 1. AudioMode is not in on-going call
         // 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()));
+        return (!CollectionUtils.isEmpty(getConnectedA2dpDevices())
+                || !CollectionUtils.isEmpty(getConnectedHearingAidDevices()))
+                && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext);
     }
 
     private List<BluetoothDevice> getConnectedA2dpDevices() {
@@ -149,14 +177,14 @@
         // Return Hearing Aid device name if it is active
         BluetoothDevice activeDevice = findActiveHearingAidDevice();
         if (activeDevice != null) {
-            return activeDevice.getAliasName();
+            return activeDevice.getAlias();
         }
         // Return A2DP device name if it is active
         final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
         if (a2dpProfile != null) {
             activeDevice = a2dpProfile.getActiveDevice();
             if (activeDevice != null) {
-                return activeDevice.getAliasName();
+                return activeDevice.getAlias();
             }
         }
         // No active device, return default summary
diff --git a/src/com/android/settings/media/MediaOutputIndicatorWorker.java b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
index 0937d4b..4ceeade 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorWorker.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
@@ -16,19 +16,29 @@
 
 package com.android.settings.media;
 
+import static android.media.AudioManager.STREAM_DEVICES_CHANGED_ACTION;
+
 import android.bluetooth.BluetoothProfile;
+import android.content.BroadcastReceiver;
 import android.content.Context;
+import android.content.Intent;
+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 java.io.IOException;
-
 /**
  * Listener for background change from {@code BluetoothCallback} to update media output indicator.
  */
@@ -36,10 +46,15 @@
 
     private static final String TAG = "MediaOutputIndicatorWorker";
 
+    private final DevicesChangedBroadcastReceiver mReceiver;
+    private final Context mContext;
+
     private LocalBluetoothManager mLocalBluetoothManager;
 
     public MediaOutputIndicatorWorker(Context context, Uri uri) {
         super(context, uri);
+        mReceiver = new DevicesChangedBroadcastReceiver();
+        mContext = context;
     }
 
     @Override
@@ -49,6 +64,8 @@
             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);
     }
 
@@ -59,10 +76,11 @@
             return;
         }
         mLocalBluetoothManager.getEventManager().unregisterCallback(this);
+        mContext.unregisterReceiver(mReceiver);
     }
 
     @Override
-    public void close() throws IOException {
+    public void close() {
         mLocalBluetoothManager = null;
     }
 
@@ -74,7 +92,8 @@
 
     @Override
     public void onActiveDeviceChanged(CachedBluetoothDevice activeDevice, int bluetoothProfile) {
-        if (bluetoothProfile == BluetoothProfile.A2DP) {
+        if (bluetoothProfile == BluetoothProfile.A2DP ||
+                bluetoothProfile == BluetoothProfile.HEARING_AID) {
             notifySliceChange();
         }
     }
@@ -83,4 +102,35 @@
     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;
+    }
+    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..3c9999e 100644
--- a/src/com/android/settings/media/MediaOutputSlice.java
+++ b/src/com/android/settings/media/MediaOutputSlice.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.media;
 
+import static android.app.slice.Slice.EXTRA_RANGE_VALUE;
+
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_SLICE_URI;
 
 import android.app.PendingIntent;
@@ -24,7 +26,6 @@
 import android.content.Intent;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
-import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -41,7 +42,7 @@
 import com.android.settings.slices.SliceBroadcastReceiver;
 import com.android.settingslib.media.MediaDevice;
 
-import java.util.List;
+import java.util.Collection;
 
 /**
  * Show the Media device that can be transfer the media.
@@ -50,22 +51,20 @@
 
     private static final String TAG = "MediaOutputSlice";
     private static final String MEDIA_DEVICE_ID = "media_device_id";
+    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,24 +81,37 @@
             return listBuilder.build();
         }
 
-        final List<MediaDevice> devices = getMediaDevices();
+        final Collection<MediaDevice> devices = getMediaDevices();
+        final MediaDeviceUpdateWorker worker = getWorker();
+        final MediaDevice connectedDevice = worker.getCurrentConnectedMediaDevice();
+        final boolean isTouched = worker.getIsTouched();
+        // Fix the last top device when user press device to transfer.
+        final MediaDevice topDevice = isTouched ? worker.getTopDevice() : connectedDevice;
 
-        final MediaDevice connectedDevice = getWorker().getCurrentConnectedMediaDevice();
-        if (connectedDevice != null) {
-            listBuilder.addRow(getActiveDeviceHeaderRow(connectedDevice));
+        if (topDevice != null) {
+            addRow(topDevice, connectedDevice, listBuilder);
+            worker.setTopDevice(topDevice);
         }
 
         for (MediaDevice device : devices) {
-            if (connectedDevice == null
-                    || !TextUtils.equals(connectedDevice.getId(), device.getId())) {
-                listBuilder.addRow(getMediaDeviceRow(device));
+            if (topDevice == null
+                    || !TextUtils.equals(topDevice.getId(), device.getId())) {
+                addRow(device, connectedDevice, listBuilder);
             }
         }
 
         return listBuilder.build();
     }
 
-    private ListBuilder.RowBuilder getActiveDeviceHeaderRow(MediaDevice device) {
+    private void addRow(MediaDevice device, MediaDevice connectedDevice, ListBuilder listBuilder) {
+        if (connectedDevice != null && TextUtils.equals(device.getId(), connectedDevice.getId())) {
+            listBuilder.addInputRange(getActiveDeviceHeaderRow(device));
+        } else {
+            listBuilder.addRow(getMediaDeviceRow(device));
+        }
+    }
+
+    private ListBuilder.InputRangeBuilder getActiveDeviceHeaderRow(MediaDevice device) {
         final String title = device.getName();
         final IconCompat icon = getDeviceIconCompat(device);
 
@@ -107,14 +119,23 @@
                 getBroadcastIntent(mContext, device.getId(), 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(device.hashCode(), device.getId()))
+                .setMax(device.getMaxVolume())
+                .setValue(device.getCurrentVolume());
+        return builder;
+    }
 
-        return rowBuilder;
+    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 IconCompat getDeviceIconCompat(MediaDevice device) {
@@ -130,16 +151,13 @@
 
     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;
     }
 
@@ -154,7 +172,7 @@
                 .setPrimaryAction(SliceAction.create(broadcastAction, deviceIcon,
                         ListBuilder.ICON_IMAGE, title))
                 .setTitle(title)
-                .setSubtitle(device.getSummary());
+                .setSubtitle(device.isConnected() ? null : device.getSummary());
 
         return rowBuilder;
     }
@@ -164,8 +182,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 +195,22 @@
     public void onNotifyChange(Intent intent) {
         final MediaDeviceUpdateWorker worker = getWorker();
         final String id = intent != null ? intent.getStringExtra(MEDIA_DEVICE_ID) : "";
+        if (TextUtils.isEmpty(id)) {
+            return;
+        }
         final MediaDevice device = worker.getMediaDeviceById(id);
-        if (device != null) {
+        if (device == null) {
+            return;
+        }
+        final int newPosition = intent.getIntExtra(EXTRA_RANGE_VALUE, NON_SLIDER_VALUE);
+        if (newPosition == NON_SLIDER_VALUE) {
+            // Intent for device connection
             Log.d(TAG, "onNotifyChange() device name : " + device.getName());
+            worker.setIsTouched(true);
             worker.connectDevice(device);
+        } else {
+            // Intent for volume adjustment
+            worker.adjustVolume(device, newPosition);
         }
     }
 
@@ -197,15 +227,13 @@
     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();
 
-        return telephonyManager.getCallState() == TelephonyManager.CALL_STATE_IDLE
-                && adapter.isEnabled()
+        return adapter.isEnabled()
+                && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext)
                 && 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..55b3e2c
--- /dev/null
+++ b/src/com/android/settings/media/RemoteMediaSlice.java
@@ -0,0 +1,182 @@
+/*
+ * 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()));
+        }
+        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() {
+        final Intent intent = new Intent()
+                .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
+                .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        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..f5fff1c 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -17,23 +17,22 @@
 
 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.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,17 +43,27 @@
 
     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) {
@@ -63,12 +72,12 @@
 
     @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 +87,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 +103,7 @@
     }
 
     @Override
-    public boolean isSliceable() {
+    public boolean isPublicSlice() {
         return true;
     }
 
@@ -117,7 +129,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..d41c5af
--- /dev/null
+++ b/src/com/android/settings/network/BluetoothTetherPreferenceController.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.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 androidx.preference.SwitchPreference;
+
+import com.android.settings.core.BasePreferenceController;
+
+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 BasePreferenceController
+        implements LifecycleObserver, Preference.OnPreferenceChangeListener {
+
+    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);
+    }
+
+    @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_STOP)
+    public void onStop() {
+        mContext.unregisterReceiver(mBluetoothChangeReceiver);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(mPreferenceKey);
+        if (mPreference != null && mPreference instanceof SwitchPreference) {
+            ((SwitchPreference) mPreference)
+                    .setChecked(mSharedPreferences.getBoolean(mPreferenceKey, false));
+        }
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        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 boolean onPreferenceChange(Preference preference, Object o) {
+        if (DEBUG) {
+            Log.d(TAG, "preference changing to " + o);
+        }
+        final SharedPreferences.Editor editor = mSharedPreferences.edit();
+        editor.putBoolean(mPreferenceKey, (Boolean) o);
+        editor.apply();
+        return true;
+    }
+}
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..e17dcd1
--- /dev/null
+++ b/src/com/android/settings/network/TetherEnabler.java
@@ -0,0 +1,407 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 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.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);
+
+    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) {
+        boolean isTethering = tethered == null ? isTethering() : isTethering(tethered);
+        if (DEBUG) {
+            Log.d(TAG, "updateState: " + isTethering);
+        }
+        setSwitchCheckedInternal(isTethering);
+        mSwitchWidgetController.setEnabled(!mDataSaverEnabled);
+        if (mListener != null) {
+            mListener.onTetherStateUpdated(isTethering);
+        }
+    }
+
+    private void setSwitchCheckedInternal(boolean checked) {
+        mSwitchWidgetController.stopListening();
+        mSwitchWidgetController.setChecked(checked);
+        mSwitchWidgetController.startListening();
+    }
+
+    private boolean isTethering() {
+        String[] tethered = mConnectivityManager.getTetheredIfaces();
+        return isTethering(tethered);
+    }
+
+    private boolean isTethering(String[] tethered) {
+        if (tethered != null && tethered.length != 0) {
+            return true;
+        }
+
+        if (mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED) {
+            return true;
+        }
+
+        final BluetoothPan pan = mBluetoothPan.get();
+
+        return pan != null && pan.isTetheringOn();
+    }
+
+    @Override
+    public boolean onSwitchToggled(boolean isChecked) {
+        if (isChecked && !isTethering()) {
+            startTether();
+        }
+
+        if (!isChecked && isTethering()) {
+            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..c1d3be2
--- /dev/null
+++ b/src/com/android/settings/network/UsbTetherPreferenceController.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.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 androidx.preference.SwitchPreference;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.Utils;
+import com.android.settings.core.BasePreferenceController;
+
+/**
+ * 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 BasePreferenceController implements
+        LifecycleObserver, Preference.OnPreferenceChangeListener {
+
+    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);
+    }
+
+    @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_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);
+        if (mPreference != null && mPreference instanceof SwitchPreference) {
+            ((SwitchPreference) mPreference)
+                    .setChecked(mSharedPreferences.getBoolean(mPreferenceKey, false));
+        }
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (preference != null) {
+            if (mUsbConnected && !mMassStorageActive) {
+                preference.setEnabled(true);
+            } else {
+                preference.setEnabled(false);
+            }
+        }
+    }
+
+    @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 boolean onPreferenceChange(Preference preference, Object o) {
+        if (DEBUG) {
+            Log.d(TAG, "preference changing to " + o);
+        }
+        final SharedPreferences.Editor editor = mSharedPreferences.edit();
+        editor.putBoolean(mPreferenceKey, (Boolean) o);
+        editor.apply();
+        return true;
+    }
+}
diff --git a/src/com/android/settings/network/WifiTetherDisablePreferenceController.java b/src/com/android/settings/network/WifiTetherDisablePreferenceController.java
new file mode 100644
index 0000000..32f841d
--- /dev/null
+++ b/src/com/android/settings/network/WifiTetherDisablePreferenceController.java
@@ -0,0 +1,169 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.BasePreferenceController;
+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 BasePreferenceController
+        implements LifecycleObserver, Preference.OnPreferenceChangeListener,
+        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);
+    }
+
+    @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 instanceof SwitchPreference) {
+            ((SwitchPreference) mPreference)
+                    .setChecked(!mSharedPreferences.getBoolean(
+                            TetherEnabler.KEY_ENABLE_WIFI_TETHERING, true));
+            mPreference.setOnPreferenceChangeListener(this);
+        }
+        updateState(mPreference);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        setVisible(mScreen, mPreferenceKey, shouldShow());
+    }
+
+    @Override
+    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
+            String key) {
+        if (TextUtils.equals(TetherEnabler.USB_TETHER_KEY, key)) {
+            mUSBTetherEnabled = sharedPreferences.getBoolean(key, false);
+        } else if (TextUtils.equals(TetherEnabler.BLUETOOTH_TETHER_KEY, key)) {
+            mBluetoothTetherEnabled = sharedPreferences.getBoolean(key, false);
+        }
+
+        // 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 && !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);
+                }
+            }
+        }
+
+        updateState(mPreference);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object o) {
+        // The shared preference's value is in the opposite of this preference's value.
+        final boolean enableWifi = !(boolean) o;
+        if (DEBUG) {
+            Log.d(TAG, "check state changing to " + o);
+        }
+        final SharedPreferences.Editor editor = mSharedPreferences.edit();
+        editor.putBoolean(TetherEnabler.KEY_ENABLE_WIFI_TETHERING, enableWifi);
+        editor.apply();
+        return true;
+    }
+}
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/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..da2bff7 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.isGlobalModeEnabled() && !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..5b5fc4e 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -26,8 +26,6 @@
 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;
@@ -41,9 +39,8 @@
 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.List;
@@ -83,8 +80,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) {
@@ -126,19 +121,19 @@
         super.updateState(preference);
         final ListPreference listPreference = (ListPreference) preference;
         final int networkMode = getPreferredNetworkMode();
+        Log.d(LOG_TAG, "updateState networkMode: " + networkMode);
+
         updatePreferenceEntries(listPreference);
         updatePreferenceValueAndSummary(listPreference, networkMode);
     }
 
     @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)) {
-            Settings.Global.putInt(mContext.getContentResolver(),
-                    Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                    settingsMode);
-            updatePreferenceValueAndSummary((ListPreference) preference, settingsMode);
+        if (mTelephonyManager.setPreferredNetworkTypeBitmask(
+                MobileNetworkUtils.getRafFromNetworkType(newPreferredNetworkMode))) {
+            updatePreferenceValueAndSummary((ListPreference) preference, newPreferredNetworkMode);
             return true;
         }
 
@@ -148,11 +143,10 @@
     public void init(Lifecycle lifecycle, 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.isGlobalModeEnabled()
                 && carrierConfig.getBoolean(CarrierConfigManager.KEY_SHOW_CDMA_CHOICES_BOOL);
         mShow4GForLTE = carrierConfig != null
                 ? carrierConfig.getBoolean(
@@ -160,33 +154,33 @@
                 : false;
 
         final long supportedRadioBitmask = mTelephonyManager.getSupportedRadioAccessFamily();
+        final boolean is5gEnabledByCarrier = (mTelephonyManager.getAllowedNetworkTypes()
+                & TelephonyManager.NETWORK_TYPE_BITMASK_NR) > 0;
         mDisplay5gList = checkSupportedRadioBitmask(
-                supportedRadioBitmask, mTelephonyManager.NETWORK_TYPE_BITMASK_NR);
-
+                supportedRadioBitmask, mTelephonyManager.NETWORK_TYPE_BITMASK_NR)
+                && is5gEnabledByCarrier;
         lifecycle.addObserver(this);
     }
 
     private int getPreferredNetworkMode() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
+        long preferredNetworkBitMask = MobileNetworkUtils.getRafFromNetworkType(
+                Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                Phone.PREFERRED_NT_MODE);
+                TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE));
+        return  MobileNetworkUtils.getNetworkTypeFromRaf((int)
+                (preferredNetworkBitMask & mTelephonyManager.getAllowedNetworkTypes()));
     }
 
     private void updatePreferenceEntries(ListPreference preference) {
         final int phoneType = mTelephonyManager.getPhoneType();
         final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
-        if (phoneType == PhoneConstants.PHONE_TYPE_CDMA) {
+        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 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) {
+            final int settingsNetworkMode = getPreferredNetworkMode();
+            if (mTelephonyManager.isGlobalModeEnabled()) {
                 if (lteForced == 0) {
                     preference.setEntries(
                             R.array.enabled_networks_cdma_choices);
@@ -194,18 +188,18 @@
                             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:
+                        case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
+                        case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
+                        case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
                             preference.setEntries(
                                     R.array.enabled_networks_cdma_no_lte_choices);
                             preference.setEntryValues(
                                     R.array.enabled_networks_cdma_no_lte_values);
                             break;
-                        case 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:
+                        case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
+                        case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
+                        case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                        case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
                             preference.setEntries(
                                     R.array.enabled_networks_cdma_only_lte_choices);
                             preference.setEntryValues(
@@ -220,7 +214,7 @@
                     }
                 }
             }
-        } else if (phoneType == PhoneConstants.PHONE_TYPE_GSM) {
+        } else if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
             if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
                 preference.setEntries(
                         R.array.enabled_networks_tdscdma_choices);
@@ -279,7 +273,7 @@
     }
 
     /***
-     * Preferred network list add 5G item.
+     * Generate preferred network choices list for 5G
      *
      * @string/enabled_networks_cdma_choices
      *         Before            |        After
@@ -364,9 +358,9 @@
                 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: TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA
                 oldEntryValue = Integer.toString(
-                        TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+                        TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
             }
 
             if (!TextUtils.isEmpty(new5gEntry)) {
@@ -382,126 +376,153 @@
     }
 
     /**
-     * LTE network mode transform to 5G network mode.
+     * transform LTE network mode to 5G network mode.
      *
-     * @param networkMode this is LTE network mode.
-     * @return 5G network mode.
+     * @param networkMode an LTE network mode without 5G.
+     * @return the corresponding network mode with 5G.
      */
     private CharSequence transformLteEntryValueTo5gEntryValue(CharSequence networkMode) {
         int networkModeInt = Integer.valueOf(networkMode.toString());
-        return Integer.toString(addNrToNetworkType(networkModeInt));
+        return Integer.toString(addNrToLteNetworkType(networkModeInt));
+    }
+    private int addNrToLteNetworkType(int networkType) {
+        switch(networkType) {
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA;
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                return TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA;
+            default:
+                return networkType; // not LTE
+        }
     }
 
-    private int addNrToNetworkType(int networkType) {
-        long networkTypeBitmasks = RadioAccessFamily.getRafFromNetworkType(networkType);
-        networkTypeBitmasks |= mTelephonyManager.NETWORK_TYPE_BITMASK_NR;
-        return RadioAccessFamily.getNetworkTypeFromRaf((int) networkTypeBitmasks);
-    }
-
+    /**
+     * Sets the display string for the network mode choice and selects the corresponding item
+     *
+     * @param preference ListPreference for selecting the preferred network mode.
+     * @param networkMode the current network mode. The current mode might not be an option in the
+     *                    choice list. The nearest choice is selected instead
+     */
     private void updatePreferenceValueAndSummary(ListPreference preference, int networkMode) {
         preference.setValue(Integer.toString(networkMode));
         switch (networkMode) {
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_WCDMA:
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_GSM:
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM:
                 preference.setValue(
-                        Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
+                        Integer.toString(TelephonyManagerConstants.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:
+            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_ONLY:
+            case TelephonyManagerConstants.NETWORK_MODE_GSM_UMTS:
+            case TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF:
                 if (!mIsGlobalCdma) {
-                    preference.setValue(Integer.toString(TelephonyManager.NETWORK_MODE_WCDMA_PREF));
+                    preference.setValue(Integer.toString(TelephonyManagerConstants.NETWORK_MODE_WCDMA_PREF));
                     preference.setSummary(R.string.network_3G);
                 } else {
-                    preference.setValue(Integer.toString(TelephonyManager
+                    preference.setValue(Integer.toString(TelephonyManagerConstants
                             .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
                     preference.setSummary(R.string.network_global);
                 }
                 break;
-            case TelephonyManager.NETWORK_MODE_GSM_ONLY:
+            case TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY:
                 if (!mIsGlobalCdma) {
                     preference.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_GSM_ONLY));
+                            Integer.toString(TelephonyManagerConstants.NETWORK_MODE_GSM_ONLY));
                     preference.setSummary(R.string.network_2G);
                 } else {
                     preference.setValue(
-                            Integer.toString(TelephonyManager
+                            Integer.toString(TelephonyManagerConstants
                                     .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
                     preference.setSummary(R.string.network_global);
                 }
                 break;
-            case TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA:
                 if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
                     preference.setSummary(
                             R.string.preferred_network_mode_lte_gsm_umts_summary);
                     break;
                 }
-            case TelephonyManager.NETWORK_MODE_LTE_ONLY:
-            case TelephonyManager.NETWORK_MODE_LTE_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_ONLY:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_WCDMA:
                 if (!mIsGlobalCdma) {
                     preference.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA));
+                            Integer.toString(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
                     preference.setSummary(
                             mShow4GForLTE ? R.string.network_4G : R.string.network_lte);
                 } else {
                     preference.setValue(
-                            Integer.toString(TelephonyManager
+                            Integer.toString(TelephonyManagerConstants
                                     .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
                     preference.setSummary(R.string.network_global);
                 }
                 break;
-            case TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO:
                 if (MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
                     preference.setSummary(
                             R.string.preferred_network_mode_lte_cdma_summary);
                 } else {
                     preference.setValue(
-                            Integer.toString(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO));
+                            Integer.toString(TelephonyManagerConstants.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
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+                preference.setValue(Integer.toString(TelephonyManagerConstants
                         .NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
                 preference.setSummary(R.string.network_3G);
                 break;
-            case TelephonyManager.NETWORK_MODE_CDMA_EVDO:
-            case TelephonyManager.NETWORK_MODE_EVDO_NO_CDMA:
-            case TelephonyManager.NETWORK_MODE_GLOBAL:
+            case TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO:
+            case TelephonyManagerConstants.NETWORK_MODE_EVDO_NO_CDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_GLOBAL:
                 preference.setValue(
-                        Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_EVDO));
+                        Integer.toString(TelephonyManagerConstants.NETWORK_MODE_CDMA_EVDO));
                 preference.setSummary(R.string.network_3G);
                 break;
-            case TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO:
+            case TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO:
                 preference.setValue(
-                        Integer.toString(TelephonyManager.NETWORK_MODE_CDMA_NO_EVDO));
+                        Integer.toString(TelephonyManagerConstants.NETWORK_MODE_CDMA_NO_EVDO));
                 preference.setSummary(R.string.network_1x);
                 break;
-            case TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY:
+            case TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_ONLY:
                 preference.setValue(
-                        Integer.toString(TelephonyManager.NETWORK_MODE_TDSCDMA_ONLY));
+                        Integer.toString(TelephonyManagerConstants.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:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA:
                 if (MobileNetworkUtils.isTdscdmaSupported(mContext, mSubId)) {
                     preference.setValue(
-                            Integer.toString(TelephonyManager
+                            Integer.toString(TelephonyManagerConstants
                                     .NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
                     preference.setSummary(
                             mDisplay5gList ? R.string.network_lte_pure : R.string.network_lte);
                 } else {
                     preference.setValue(
-                            Integer.toString(TelephonyManager
+                            Integer.toString(TelephonyManagerConstants
                                     .NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-                    if (mTelephonyManager.getPhoneType() == PhoneConstants.PHONE_TYPE_CDMA
+                    if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
                             || mIsGlobalCdma
                             || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
                         preference.setSummary(R.string.network_global);
@@ -516,16 +537,16 @@
                     }
                 }
                 break;
-            case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO:
-            case TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO:
+            case TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA:
                 preference.setValue(Integer.toString(networkMode));
                 preference.setSummary(mContext.getString(R.string.network_5G)
                         + mContext.getString(R.string.network_recommended));
                 break;
-            case TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA:
+            case TelephonyManagerConstants.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
+                        Integer.toString(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
+                if (mTelephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
                         || mIsGlobalCdma
                         || MobileNetworkUtils.isWorldMode(mContext, mSubId)) {
                     preference.setSummary(R.string.network_global);
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..efbbbf8
--- /dev/null
+++ b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
@@ -0,0 +1,223 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 CarrierConfigManager mCarrierConfigManager;
+    private PersistableBundle mCarrierConfig;
+    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);
+        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
+        m4gLteListeners = new ArrayList<>();
+        mPhoneStateListener = new PhoneCallStateListener();
+    }
+
+    public Enhanced4gBasePreferenceController init(int subId) {
+        if (SubscriptionManager.isValidSubscriptionId(mSubId) && mSubId == subId) {
+            return this;
+        }
+        mSubId = subId;
+        mCarrierConfig = mCarrierConfigManager.getConfigForSubId(mSubId);
+
+        final boolean show4GForLTE = mCarrierConfig.getBoolean(
+                CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
+        m4gCurrentMode = mCarrierConfig.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;
+        }
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        final PersistableBundle carrierConfig = mCarrierConfigManager.getConfigForSubId(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() && 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()
+                && 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() {
+        return (mCallState != null) && (mCallState == TelephonyManager.CALL_STATE_IDLE)
+                && mCarrierConfig.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..0f3d289 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkActivity.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkActivity.java
@@ -17,17 +17,13 @@
 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.view.View;
+import android.widget.Toolbar;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
@@ -35,21 +31,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 +51,77 @@
     @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);
         setIntent(intent);
-        updateSubscriptions(null);
+
+        int updateSubscriptionIndex = SUB_ID_NULL;
+        if (intent != null) {
+            updateSubscriptionIndex = intent.getIntExtra(Settings.EXTRA_SUB_ID, SUB_ID_NULL);
+        }
+
+        mCurSubscriptionId = updateSubscriptionIndex;
+        updateSubscriptions(getSubscription());
     }
 
     @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();
+        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);
+    }
+
+    /**
+     * Implementation of ProxySubscriptionManager.OnActiveSubscriptionChangedListener
+     */
+    public void onChanged() {
+        updateSubscriptions(getSubscription());
     }
 
     @Override
     protected void onStart() {
+        mProxySubscriptionMgr.setLifecycle(getLifecycle());
         super.onStart();
-        mPhoneChangeReceiver.register();
-        mSubscriptionManager.addOnSubscriptionsChangedListener(mOnSubscriptionsChangeListener);
+        updateSubscriptions(getSubscription());
     }
 
     @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 +135,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 +164,41 @@
      */
     @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) {
+    @VisibleForTesting
+    String buildFragmentTag(int subscriptionId) {
         return MOBILE_SETTINGS_TAG + subscriptionId;
     }
 
-    @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();
-        }
+    private boolean isSubscriptionChanged(int subscriptionId) {
+        return (subscriptionId == SUB_ID_NULL) || (subscriptionId != mCurSubscriptionId);
     }
 }
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index 8d83ef2..e5ba96a 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,14 @@
 
         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);
     }
 
     @Override
@@ -184,11 +186,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 +245,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 +274,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 +289,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 +300,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 +310,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..1e3cd42 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkUtils.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
@@ -18,6 +18,15 @@
 
 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 android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -38,7 +47,10 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.telephony.euicc.EuiccManager;
+import android.telephony.ims.ProvisioningManager;
 import android.telephony.ims.feature.ImsFeature;
+import android.telephony.ims.feature.MmTelFeature;
+import android.telephony.ims.stub.ImsRegistrationImplBase;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.Gravity;
@@ -47,12 +59,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 +108,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,24 +122,41 @@
     }
 
     /**
+     * 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);
         }
 
@@ -161,8 +191,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 +223,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 +239,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 +262,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 +289,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 +302,9 @@
             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 == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA
+                    || settingsNetworkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO) {
                 return true;
             }
 
@@ -317,10 +329,10 @@
         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 == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO
+                    || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA) {
                 return true;
             } else if (shouldSpeciallyUpdateGsmCdma(context, subId)) {
                 return true;
@@ -336,7 +348,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 +376,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 +394,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 +408,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 +437,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 +456,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 +473,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 +508,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 +525,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 +541,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 +559,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 +570,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 +599,7 @@
     }
 
     private static String getOperatorNameFromTelephonyManager(Context context) {
-        TelephonyManager tm =
+        final TelephonyManager tm =
                 (TelephonyManager) context.getSystemService(TelephonyManager.class);
         if (tm == null) {
             return null;
@@ -599,23 +607,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..eb0d020 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,8 @@
 import android.telephony.TelephonyScanManager;
 import android.util.Log;
 
-import com.android.internal.telephony.CellNetworkScanResult;
-
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.SettableFuture;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
 import java.util.List;
 import java.util.concurrent.Executor;
-import java.util.stream.Collectors;
 
 /**
  * A helper class that builds the common interface and performs the network scan for two different
@@ -80,33 +69,6 @@
         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;
@@ -131,6 +93,11 @@
                             new RadioAccessSpecifier(
                                     AccessNetworkType.UTRAN,
                                     null /* bands */,
+                                    null /* channels */),
+                            // NR
+                            new RadioAccessSpecifier(
+                                    AccessNetworkType.NGRAN,
+                                    null /* bands */,
                                     null /* channels */)
                     },
                     SEARCH_PERIODICITY_SEC,
@@ -146,9 +113,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;
@@ -157,53 +121,37 @@
     }
 
     /**
-     * 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)}.
+     * Request a network scan.
      *
-     * @param type used to tell which network scan API should be used.
+     * 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(@NetworkQueryType int type) {
-        if (type == NETWORK_SCAN_TYPE_WAIT_FOR_ALL_RESULTS) {
-            mNetworkScanFuture = SettableFuture.create();
-            Futures.addCallback(mNetworkScanFuture, new FutureCallback<List<CellInfo>>() {
-                @Override
-                public void onSuccess(List<CellInfo> result) {
-                    onResults(result);
-                    onComplete();
-                }
-
-                @Override
-                public void onFailure(Throwable t) {
-                    int errCode = Integer.parseInt(t.getMessage());
-                    onError(errCode);
-                }
-            });
-            mExecutor.execute(new NetworkScanSyncTask(
-                    mTelephonyManager, (SettableFuture) mNetworkScanFuture));
-        } else if (type == NETWORK_SCAN_TYPE_INCREMENTAL_RESULTS) {
-            mNetworkScanRequester = mTelephonyManager.requestNetworkScan(
-                    NETWORK_SCAN_REQUEST,
-                    mExecutor,
-                    mInternalNetworkScanCallback);
+    public void startNetworkScan() {
+        if (mNetworkScanRequester != null) {
+            return;
+        }
+        mNetworkScanRequester = mTelephonyManager.requestNetworkScan(
+                NETWORK_SCAN_REQUEST,
+                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 +167,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 +184,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..cdfbff8 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,78 +96,74 @@
     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.isGlobalModeEnabled()
                 && 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.isGlobalModeEnabled()
+                        ? 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;
             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/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/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..e90a240 100644
--- a/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
+++ b/src/com/android/settings/network/telephony/cdma/CdmaSystemSelectPreferenceController.java
@@ -23,7 +23,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 +52,9 @@
         final int settingsNetworkMode = Settings.Global.getInt(
                 mContext.getContentResolver(),
                 Settings.Global.PREFERRED_NETWORK_MODE + mSubId,
-                Phone.PREFERRED_NT_MODE);
+                TelephonyManager.DEFAULT_PREFERRED_NETWORK_MODE);
         listPreference.setEnabled(
-                settingsNetworkMode != TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+                settingsNetworkMode != TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
     }
 
     @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/ImportantConversationBubblePreferenceController.java b/src/com/android/settings/notification/app/ImportantConversationBubblePreferenceController.java
new file mode 100644
index 0000000..f6f14aa
--- /dev/null
+++ b/src/com/android/settings/notification/app/ImportantConversationBubblePreferenceController.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.notification.app;
+
+import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
+import static android.provider.Settings.Secure.BUBBLE_IMPORTANT_CONVERSATIONS;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.TogglePreferenceController;
+
+public class ImportantConversationBubblePreferenceController extends TogglePreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+
+    private static final String TAG = "ImpConvBubPrefContr";
+    @VisibleForTesting
+    static final int ON = 1;
+    @VisibleForTesting
+    static final int OFF = 0;
+
+
+    public ImportantConversationBubblePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    private boolean isGloballyEnabled() {
+        return Settings.Global.getInt(mContext.getContentResolver(),
+                NOTIFICATION_BUBBLES, OFF) == ON;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return isGloballyEnabled() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
+    }
+
+    @Override
+    public boolean isSliceable() {
+        return false;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                BUBBLE_IMPORTANT_CONVERSATIONS, ON) == ON;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putInt(mContext.getContentResolver(),
+                BUBBLE_IMPORTANT_CONVERSATIONS, isChecked ? ON : OFF);
+    }
+}
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..046b5ef
--- /dev/null
+++ b/src/com/android/settings/notification/history/HistoryLoader.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.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 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 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(() -> {
+            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));
+        });
+    }
+
+    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..fbbda21
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
@@ -0,0 +1,302 @@
+/*
+ * 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 = getSnoozedNotifications();
+            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)));
+            }
+
+            try {
+                StatusBarNotification[] dismissed = mNm.getHistoricalNotifications(
+                        NotificationHistoryActivity.this.getPackageName(), 6, false);
+                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);
+
+                ((NotificationSbnAdapter) mDismissedRv.getAdapter()).onRebuildComplete(
+                        new ArrayList<>(Arrays.asList(dismissed)));
+                mDismissView.setVisibility(View.VISIBLE);
+            } catch (Exception e) {
+                Slog.e(TAG, "Cannot load recently dismissed", e);
+                mDismissView.setVisibility(View.GONE);
+            }
+        }
+
+        @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..f7a747b
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationSbnAdapter.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.history;
+
+import static android.content.pm.PackageManager.*;
+import static android.os.UserHandle.USER_ALL;
+import static android.os.UserHandle.USER_CURRENT;
+
+import android.app.Notification;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+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.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;
+
+    public NotificationSbnAdapter(Context context, PackageManager pm) {
+        mContext = context;
+        mPm = pm;
+        mUserBadgeCache = new HashMap<>();
+        mValues = new ArrayList<>();
+        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(sbn.getNotification().color, PorterDuff.Mode.SRC_ATOP);
+        return draw;
+    }
+
+    private int normalizeUserId(StatusBarNotification sbn) {
+        int userId = sbn.getUserId();
+        if (userId == USER_ALL) {
+            userId = USER_CURRENT;
+        }
+        return userId;
+    }
+}
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..b3630a0
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeAllBypassingAppsPreferenceController.java
@@ -0,0 +1,203 @@
+/*
+ * 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);
+        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()) {
+                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);
+            }
+
+            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/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..9ef9380
--- /dev/null
+++ b/src/com/android/settings/notification/zen/ZenModeBypassingAppsPreferenceController.java
@@ -0,0 +1,31 @@
+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_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/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/MediaOutputPanel.java b/src/com/android/settings/panel/MediaOutputPanel.java
index c42906d..6735375 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,105 @@
  * 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 PanelCustomizedButtonCallback 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;
+
+        if (!TextUtils.isEmpty(mPackageName)) {
+            mMediaSessionManager = mContext.getSystemService(MediaSessionManager.class);
+            for (MediaController controller : mMediaSessionManager.getActiveSessions(null)) {
+                if (TextUtils.equals(controller.getPackageName(), mPackageName)) {
+                    mMediaController = controller;
+                    break;
+                }
+            }
+        }
+
+        if (mMediaController == null) {
+            Log.e(TAG, "Unable to find " + mPackageName + " media controller");
+        }
     }
 
     @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 +175,69 @@
     }
 
     @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(PanelCustomizedButtonCallback 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 (mLocalMediaManager == null) {
+            mLocalMediaManager = new LocalMediaManager(mContext, mPackageName, null);
+        }
+        mLocalMediaManager.registerCallback(this);
+        mLocalMediaManager.startScan();
+    }
+
+    @OnLifecycleEvent(ON_STOP)
+    public void onStop() {
+        mLocalMediaManager.unregisterCallback(this);
+        mLocalMediaManager.stopScan();
+    }
 }
diff --git a/src/com/android/settings/panel/PanelContent.java b/src/com/android/settings/panel/PanelContent.java
index 496bac3..352a304 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;
@@ -29,6 +31,20 @@
 public interface PanelContent extends Instrumentable {
 
     /**
+     * @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.
      */
     CharSequence getTitle();
@@ -39,7 +55,6 @@
      */
     List<Uri> getSlices();
 
-
     /**
      * @return an {@link Intent} to the full content in Settings that is summarized by the Panel.
      *
@@ -48,4 +63,42 @@
      * </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(PanelCustomizedButtonCallback callback) {}
 }
diff --git a/src/com/android/settings/panel/PanelCustomizedButtonCallback.java b/src/com/android/settings/panel/PanelCustomizedButtonCallback.java
new file mode 100644
index 0000000..8b4290f
--- /dev/null
+++ b/src/com/android/settings/panel/PanelCustomizedButtonCallback.java
@@ -0,0 +1,29 @@
+/*
+ * 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;
+
+/**
+ * PanelCustomizedButtonCallback provides a callback interface for {@link PanelFragment} to receive
+ * events from {@link PanelContent}.
+ */
+public interface PanelCustomizedButtonCallback {
+
+    /**
+     * It will be called when customized button state is changed. For example, custom button
+     * would be hidden for specific behavior.
+     */
+    void onCustomizedButtonStateChanged();
+}
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..04d3095 100644
--- a/src/com/android/settings/panel/PanelFeatureProviderImpl.java
+++ b/src/com/android/settings/panel/PanelFeatureProviderImpl.java
@@ -19,16 +19,22 @@
 import static com.android.settingslib.media.MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT;
 
 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);
diff --git a/src/com/android/settings/panel/PanelFragment.java b/src/com/android/settings/panel/PanelFragment.java
index 79d1ac5..31e2ac6 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,23 @@
             getActivity().finish();
         };
     }
+
+    @VisibleForTesting
+    View.OnClickListener getHeaderIconListener() {
+        return (v) -> {
+            final FragmentActivity activity = getActivity();
+            activity.startActivity(mPanel.getHeaderIconIntent());
+        };
+    }
+
+    class LocalPanelCallback implements PanelCustomizedButtonCallback {
+
+        @Override
+        public void onCustomizedButtonStateChanged() {
+            ThreadUtils.postOnMainThread(() -> {
+                mSeeMoreButton.setVisibility(
+                        mPanel.isCustomizedButtonUsed() ? View.VISIBLE : View.GONE);
+            });
+        }
+    }
 }
diff --git a/src/com/android/settings/panel/PanelSlicesAdapter.java b/src/com/android/settings/panel/PanelSlicesAdapter.java
index 0f525cc..779c582 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;
     }
 
@@ -109,7 +111,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 +119,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..61dee15 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;
@@ -55,9 +54,8 @@
     @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);
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 5407776..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();
         }
     }
 
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/PasswordUtils.java b/src/com/android/settings/password/PasswordUtils.java
index 1ead492..5b75033 100644
--- a/src/com/android/settings/password/PasswordUtils.java
+++ b/src/com/android/settings/password/PasswordUtils.java
@@ -89,7 +89,8 @@
                     /* initialPid= */ -1,
                     getCallingAppPackageName(activityToken),
                     userId,
-                    message);
+                    message,
+                    false);
         } catch (RemoteException e) {
             Log.v(TAG, "Could not talk to activity manager.", e);
         }
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..237e58f 100644
--- a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
+++ b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
@@ -58,13 +58,20 @@
 import android.util.ArraySet;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.slice.SliceViewManager;
 
+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.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 +105,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 +123,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 +144,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 +155,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 +191,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 +217,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 +243,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 +264,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 +294,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 +309,7 @@
 
             for (SearchIndexableResource item : resList) {
                 item.className = TextUtils.isEmpty(item.className)
-                        ? clazz.getName()
+                        ? bundle.getTargetClass().getName()
                         : item.className;
             }
 
@@ -298,13 +320,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 +336,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 +344,79 @@
 
         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 (currentPackageName.equals(tile.getPackageName())
+                        && tile instanceof ActivityTile) {
+                    // Skip Settings injected items because they should be indexed in the sub-pages.
+                    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;
+    }
+
+    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..f24d8db
--- /dev/null
+++ b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
@@ -0,0 +1,86 @@
+/*
+ * 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.TogglePreferenceController;
+import com.android.settings.network.telephony.MobileNetworkUtils;
+
+/** Enable/disable user confirmation before deleting an eSim */
+public class ConfirmSimDeletionPreferenceController extends TogglePreferenceController {
+    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;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return getGlobalState();
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        Settings.Global.putInt(
+                mContext.getContentResolver(), KEY_CONFIRM_SIM_DELETION, isChecked ? 1 : 0);
+        return true;
+    }
+
+    @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..ffc1d6b 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);
@@ -77,7 +77,7 @@
      */
     private boolean isSimReady() {
         final List<SubscriptionInfo> subInfoList =
-                mSubscriptionManager.getActiveSubscriptionInfoList(true);
+                mSubscriptionManager.getActiveSubscriptionInfoList();
         if (subInfoList != null) {
             for (SubscriptionInfo subInfo : subInfoList) {
                 final int simState = mTelephonyManager.getSimState(subInfo.getSimSlotIndex());
@@ -95,11 +95,13 @@
      */
     private boolean isSimIccReady() {
         final List<SubscriptionInfo> subInfoList =
-                mSubscriptionManager.getActiveSubscriptionInfoList(true);
+                mSubscriptionManager.getActiveSubscriptionInfoList();
 
         if (subInfoList != null) {
             for (SubscriptionInfo subInfo : subInfoList) {
-                if (mTelephonyManager.hasIccCard(subInfo.getSimSlotIndex())) {
+                mTelephonyManager = mTelephonyManager
+                        .createForSubscriptionId(subInfo.getSimSlotIndex());
+                if (mTelephonyManager.hasIccCard()) {
                     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..c0f7e1f 100644
--- a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
+++ b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
@@ -38,6 +38,11 @@
 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.core.BasePreferenceController;
@@ -49,11 +54,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.
  */
@@ -245,7 +245,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..13b09ce 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;
@@ -44,8 +41,9 @@
 import com.android.settings.location.LocationSlice;
 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 +57,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 +115,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 +226,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()
@@ -353,6 +303,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 +325,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 +336,7 @@
         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);
     }
 
     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..bed0532 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;
@@ -44,7 +46,7 @@
 import com.android.settings.R;
 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 +59,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 +73,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 +116,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 +268,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;
     }
@@ -332,32 +351,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 +358,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 +392,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 +420,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..8bc538e 100644
--- a/src/com/android/settings/support/SupportDashboardActivity.java
+++ b/src/com/android/settings/support/SupportDashboardActivity.java
@@ -24,8 +24,8 @@
 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.SearchIndexableRaw;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
@@ -53,7 +53,7 @@
     /**
      * 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";
 
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/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..949ba9b 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,30 @@
 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 +74,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 +111,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 +198,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/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/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 27ac69d..d9b9e3c 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -35,18 +35,25 @@
 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 +71,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;
@@ -135,7 +143,6 @@
     int mAccessPointSecurity;
     private TextView mPasswordView;
     private ImageButton mSsidScanButton;
-    private ImageButton mPasswordScanButton;
 
     private String mUnspecifiedCertString;
     private String mMultipleCertSetString;
@@ -147,6 +154,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
@@ -177,6 +185,7 @@
     private ProxySettings mProxySettings = ProxySettings.UNASSIGNED;
     private ProxyInfo mHttpProxy = null;
     private StaticIpConfiguration mStaticIpConfiguration = null;
+    private boolean mRequestFocus = true;
 
     private String[] mLevels;
     private int mMode;
@@ -191,11 +200,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);
@@ -225,20 +240,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);
@@ -249,7 +257,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);
@@ -259,8 +266,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);
         }
@@ -275,7 +281,6 @@
         if (mAccessPoint == null) { // new network
             configureSecuritySpinner();
             mConfigUi.setSubmitButton(res.getString(R.string.wifi_save));
-            mPasswordScanButton.setVisibility(View.GONE);
         } else {
             mConfigUi.setTitle(mAccessPoint.getTitle());
 
@@ -289,16 +294,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());
@@ -312,10 +323,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 {
@@ -331,22 +343,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) {
@@ -421,9 +431,6 @@
                 }
             }
 
-            if (!WifiDppUtils.isSupportEnrolleeQrCodeScanner(mContext, mAccessPointSecurity)) {
-                mPasswordScanButton.setVisibility(View.GONE);
-            }
             mSsidScanButton.setVisibility(View.GONE);
         }
 
@@ -436,8 +443,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
@@ -558,6 +567,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);
 
@@ -585,6 +595,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() {
@@ -649,7 +667,7 @@
                 config.allowedKeyManagement.set(KeyMgmt.IEEE8021X);
                 if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B) {
                     config.allowedKeyManagement.set(KeyMgmt.SUITE_B_192);
-                    config.requirePMF = true;
+                    config.requirePmf = true;
                     config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.GCMP_256);
                     config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.GCMP_256);
                     config.allowedGroupManagementCiphers.set(WifiConfiguration.GroupMgmtCipher
@@ -748,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)) {
@@ -781,7 +807,7 @@
                 break;
             case AccessPoint.SECURITY_SAE:
                 config.allowedKeyManagement.set(KeyMgmt.SAE);
-                config.requirePMF = true;
+                config.requirePmf = true;
                 if (mPasswordView.length() != 0) {
                     String password = mPasswordView.getText().toString();
                     config.preSharedKey = '"' + password + '"';
@@ -790,7 +816,7 @@
 
             case AccessPoint.SECURITY_OWE:
                 config.allowedKeyManagement.set(KeyMgmt.OWE);
-                config.requirePMF = true;
+                config.requirePmf = true;
                 break;
 
             default:
@@ -805,9 +831,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;
         }
 
@@ -974,6 +1005,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;
@@ -983,6 +1015,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);
@@ -1001,23 +1034,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,
@@ -1031,13 +1057,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) {
@@ -1088,7 +1119,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) {
@@ -1104,8 +1135,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 {
@@ -1149,6 +1181,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);
 
@@ -1157,6 +1190,7 @@
             case WIFI_EAP_METHOD_PWD:
                 setPhase2Invisible();
                 setCaCertInvisible();
+                setOcspInvisible();
                 setDomainInvisible();
                 setAnonymousIdentInvisible();
                 setUserCertInvisible();
@@ -1194,13 +1228,11 @@
                 setPhase2Invisible();
                 setAnonymousIdentInvisible();
                 setCaCertInvisible();
+                setOcspInvisible();
                 setDomainInvisible();
                 setUserCertInvisible();
                 setPasswordInvisible();
                 setIdentityInvisible();
-                if (mAccessPoint != null && mAccessPoint.isCarrierAp()) {
-                    setEapMethodInvisible();
-                }
                 break;
         }
 
@@ -1211,6 +1243,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();
             }
         }
     }
@@ -1243,6 +1279,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("");
@@ -1293,13 +1334,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) {
@@ -1405,12 +1447,11 @@
         } catch (Exception e) {
             Log.e(TAG, "can't get the certificate list from KeyStore");
         }
-
         if (mAccessPointSecurity != AccessPoint.SECURITY_EAP_SUITE_B) {
             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);
@@ -1418,10 +1459,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);
     }
 
@@ -1493,18 +1532,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);
         }
     }
 
@@ -1513,7 +1544,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);
@@ -1521,9 +1552,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();
@@ -1613,16 +1644,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..8352a76
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiConfigController2.java
@@ -0,0 +1,1754 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.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.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;
+
+/**
+ * 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;
+
+    /* 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.allowedKeyManagement.set(KeyMgmt.NONE);
+                break;
+
+            case WifiEntry.SECURITY_WEP:
+                config.allowedKeyManagement.set(KeyMgmt.NONE);
+                config.allowedAuthAlgorithms.set(AuthAlgorithm.OPEN);
+                config.allowedAuthAlgorithms.set(AuthAlgorithm.SHARED);
+                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.allowedKeyManagement.set(KeyMgmt.WPA_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:
+                config.allowedKeyManagement.set(KeyMgmt.WPA_EAP);
+                config.allowedKeyManagement.set(KeyMgmt.IEEE8021X);
+                if (mWifiEntrySecurity == WifiEntry.SECURITY_EAP_SUITE_B) {
+                    config.allowedKeyManagement.set(KeyMgmt.SUITE_B_192);
+                    config.requirePmf = true;
+                    config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.GCMP_256);
+                    config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.GCMP_256);
+                    config.allowedGroupManagementCiphers.set(WifiConfiguration.GroupMgmtCipher
+                            .BIP_GMAC_256);
+                    // allowedSuiteBCiphers will be set according to certificate type
+                }
+                config.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.allowedKeyManagement.set(KeyMgmt.SAE);
+                config.requirePmf = true;
+                if (mPasswordView.length() != 0) {
+                    String password = mPasswordView.getText().toString();
+                    config.preSharedKey = '"' + password + '"';
+                }
+                break;
+
+            case WifiEntry.SECURITY_OWE:
+                config.allowedKeyManagement.set(KeyMgmt.OWE);
+                config.requirePmf = true;
+                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();
+    }
+
+    private 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);
+        }
+        try {
+            certs.addAll(Arrays.asList(getKeyStore().list(prefix, android.os.Process.WIFI_UID)));
+        } catch (Exception e) {
+            Log.e(TAG, "can't get the certificate list from KeyStore");
+        }
+        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..2c6feac 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;
@@ -128,17 +130,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..2f57249 100644
--- a/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiMasterSwitchPreferenceController.java
@@ -36,7 +36,7 @@
         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..0f81edb 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),
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..1b3a731
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiSettings2.java
@@ -0,0 +1,1084 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.save(wifiConfiguration,
+                            new WifiSaveThenConnectActionListener(wifiConfiguration));
+                }
+            }
+            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 LongPressWifiEntryPreference pref =
+                        createLongPressWifiEntryPreference(connectedEntry);
+                pref.setKey(connectedEntry.getKey());
+                pref.refresh();
+                mConnectedWifiEntryPreferenceCategory.addPreference(pref);
+                pref.setOnPreferenceClickListener(preference -> {
+                    if (connectedEntry.canSignIn()) {
+                        connectedEntry.signIn(null /* callback */);
+                    } else {
+                        launchNetworkDetailsFragment(pref);
+                    }
+                    return true;
+                });
+            }
+        } 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 WifiSaveThenConnectActionListener implements WifiManager.ActionListener {
+        final WifiConfiguration mWifiConfiguration;
+
+        WifiSaveThenConnectActionListener(WifiConfiguration wifiConfiguration) {
+            mWifiConfiguration = wifiConfiguration;
+        }
+
+        @Override
+        public void onSuccess() {
+            mWifiManager.connect(mWifiConfiguration, new WifiConnectActionListener());
+        }
+
+        @Override
+        public void onFailure(int reason) {
+            final Activity activity = getActivity();
+            if (isFisishingOrDestroyed(activity)) {
+                return;
+            }
+
+            Toast.makeText(activity, R.string.wifi_failed_save_message, Toast.LENGTH_SHORT).show();
+        }
+    };
+
+    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..08ba441 100644
--- a/src/com/android/settings/wifi/WifiUtils.java
+++ b/src/com/android/settings/wifi/WifiUtils.java
@@ -193,7 +193,7 @@
                 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.requirePmf = true;
                     config.allowedPairwiseCiphers.set(WifiConfiguration.PairwiseCipher.GCMP_256);
                     config.allowedGroupCiphers.set(WifiConfiguration.GroupCipher.GCMP_256);
                     config.allowedGroupManagementCiphers.set(WifiConfiguration.GroupMgmtCipher
@@ -207,7 +207,7 @@
                 break;
             case AccessPoint.SECURITY_SAE:
                 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.SAE);
-                config.requirePMF = true;
+                config.requirePmf = true;
                 if (!TextUtils.isEmpty(password)) {
                     config.preSharedKey = '"' + password + '"';
                 }
@@ -215,7 +215,7 @@
 
             case AccessPoint.SECURITY_OWE:
                 config.allowedKeyManagement.set(WifiConfiguration.KeyMgmt.OWE);
-                config.requirePMF = true;
+                config.requirePmf = true;
                 break;
 
             default:
@@ -272,7 +272,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..803b828
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -0,0 +1,1029 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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;
+
+/**
+ * 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) {
+            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) {
+            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();
+    }
+
+    /**
+     * 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..07bd5a4
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
@@ -0,0 +1,228 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 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<>();
+
+    @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) {
+        final List<AbstractPreferenceController> controllers = 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);
+        controllers.add(mWifiDetailPreferenceController2);
+
+        final WifiAutoConnectPreferenceController2 wifiAutoConnectPreferenceController2 =
+                new WifiAutoConnectPreferenceController2(context);
+        wifiAutoConnectPreferenceController2.setWifiEntry(wifiEntry);
+        controllers.add(wifiAutoConnectPreferenceController2);
+
+        final AddDevicePreferenceController2 addDevicePreferenceController2 =
+                new AddDevicePreferenceController2(context);
+        addDevicePreferenceController2.setWifiEntry(wifiEntry);
+        controllers.add(addDevicePreferenceController2);
+
+        final WifiMeteredPreferenceController2 meteredPreferenceController2 =
+                new WifiMeteredPreferenceController2(context, wifiEntry);
+        controllers.add(meteredPreferenceController2);
+
+        final WifiPrivacyPreferenceController2 privacyController2 =
+                new WifiPrivacyPreferenceController2(context);
+        privacyController2.setWifiEntry(wifiEntry);
+        controllers.add(privacyController2);
+
+        final WifiSubscriptionDetailPreferenceController2
+                wifiSubscriptionDetailPreferenceController2 =
+                new WifiSubscriptionDetailPreferenceController2(context);
+        wifiSubscriptionDetailPreferenceController2.setWifiEntry(wifiEntry);
+        controllers.add(wifiSubscriptionDetailPreferenceController2);
+
+        // Sets callback listener for wifi dialog.
+        mWifiDialogListeners.add(mWifiDetailPreferenceController2);
+        mWifiDialogListeners.add(privacyController2);
+        mWifiDialogListeners.add(meteredPreferenceController2);
+
+        return controllers;
+    }
+
+    @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));
+    }
+}
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..fdd0bbe 100644
--- a/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java
+++ b/src/com/android/settings/wifi/dpp/WifiNetworkConfig.java
@@ -81,7 +81,7 @@
      * WifiNetworkConfig for configuration
      */
     public interface Retriever {
-        public WifiNetworkConfig getWifiNetworkConfig();
+        WifiNetworkConfig getWifiNetworkConfig();
     }
 
     /**
@@ -90,7 +90,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 +103,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 +113,7 @@
                 isHotspot);
     }
 
-    public static boolean isValidConfig(WifiNetworkConfig config) {
+    static boolean isValidConfig(WifiNetworkConfig config) {
         if (config == null) {
             return false;
         } else {
@@ -122,7 +122,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 +162,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 +179,6 @@
                 .append(mHiddenSsid)
                 .append(";;")
                 .toString();
-        return barcode;
     }
 
     public String getSecurity() {
@@ -233,9 +232,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.
@@ -257,7 +253,7 @@
             final WifiConfiguration enhancedOpenNetworkWifiConfiguration =
                     getBasicWifiConfiguration();
             enhancedOpenNetworkWifiConfiguration.allowedKeyManagement.set(KeyMgmt.OWE);
-            enhancedOpenNetworkWifiConfiguration.requirePMF = true;
+            enhancedOpenNetworkWifiConfiguration.requirePmf = true;
             wifiConfigurations.add(enhancedOpenNetworkWifiConfiguration);
             return wifiConfigurations;
         }
@@ -286,7 +282,7 @@
             }
         } else if (mSecurity.startsWith(SECURITY_SAE)) {
             wifiConfiguration.allowedKeyManagement.set(KeyMgmt.SAE);
-            wifiConfiguration.requirePMF = true;
+            wifiConfiguration.requirePmf = true;
             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..fe1da73 100644
--- a/src/com/android/settings/wifi/slice/WifiSlice.java
+++ b/src/com/android/settings/wifi/slice/WifiSlice.java
@@ -38,6 +38,7 @@
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.text.TextUtils;
+import android.util.FeatureFlagUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.core.graphics.drawable.IconCompat;
@@ -54,8 +55,10 @@
 import com.android.settings.slices.SliceBuilderUtils;
 import com.android.settings.wifi.WifiDialogActivity;
 import com.android.settings.wifi.WifiSettings;
+import com.android.settings.wifi.WifiSettings2;
 import com.android.settings.wifi.WifiUtils;
 import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
+import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
 import com.android.settingslib.wifi.AccessPoint;
 
 import java.util.Arrays;
@@ -92,7 +95,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 +107,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 +120,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 +142,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 +203,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()));
 
@@ -247,13 +253,16 @@
         accessPoint.saveWifiState(extras);
 
         if (accessPoint.isActive()) {
-            final Intent intent = new SubSettingLauncher(mContext)
+            final SubSettingLauncher launcher = new SubSettingLauncher(mContext)
                     .setTitleRes(R.string.pref_title_network_details)
-                    .setDestination(WifiNetworkDetailsFragment.class.getName())
                     .setArguments(extras)
-                    .setSourceMetricsCategory(SettingsEnums.WIFI)
-                    .toIntent();
-            return getActivityAction(requestCode, intent, icon, title);
+                    .setSourceMetricsCategory(SettingsEnums.WIFI);
+            if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+                launcher.setDestination(WifiNetworkDetailsFragment2.class.getName());
+            } else {
+                launcher.setDestination(WifiNetworkDetailsFragment.class.getName());
+            }
+            return getActivityAction(requestCode, launcher.toIntent(), icon, title);
         } else if (WifiUtils.getConnectingType(accessPoint) != WifiUtils.CONNECT_TYPE_OTHERS) {
             final Intent intent = new Intent(mContext, ConnectToWifiHandler.class)
                     .putExtra(WifiDialogActivity.KEY_ACCESS_POINT_STATE, extras);
@@ -293,7 +302,7 @@
                 .setSubtitle(title);
     }
 
-    private boolean isCaptivePortal() {
+    protected boolean isCaptivePortal() {
         final NetworkCapabilities nc = mConnectivityManager.getNetworkCapabilities(
                 mWifiManager.getCurrentNetwork());
         return WifiUtils.canSignIntoNetwork(nc);
@@ -317,11 +326,21 @@
     public Intent getIntent() {
         final String screenTitle = mContext.getText(R.string.wifi_settings).toString();
         final Uri contentUri = new Uri.Builder().appendPath(KEY_WIFI).build();
-        final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
+
+        Intent intent;
+        if (FeatureFlagUtils.isEnabled(mContext, FeatureFlagUtils.SETTINGS_WIFITRACKER2)) {
+            intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
+                WifiSettings2.class.getName(), KEY_WIFI, screenTitle,
+                SettingsEnums.DIALOG_WIFI_AP_EDIT)
+                .setClassName(mContext.getPackageName(), SubSettings.class.getName())
+                .setData(contentUri);
+        } else {
+            intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
                 WifiSettings.class.getName(), KEY_WIFI, screenTitle,
                 SettingsEnums.DIALOG_WIFI_AP_EDIT)
                 .setClassName(mContext.getPackageName(), SubSettings.class.getName())
                 .setData(contentUri);
+        }
 
         return intent;
     }
diff --git a/src/com/android/settings/wifi/tether/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..2a5dea9 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherBasePreferenceController.java
@@ -30,7 +30,7 @@
         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/WifiTetherPasswordPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
index 8d9e858..03ea121 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
@@ -16,14 +16,18 @@
 
 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.text.TextUtils;
+import android.util.FeatureFlagUtils;
 
 import androidx.preference.EditTextPreference;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.core.FeatureFlags;
 import com.android.settings.widget.ValidatedEditTextPreference;
 import com.android.settings.wifi.WifiUtils;
 
@@ -43,17 +47,19 @@
 
     @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);
@@ -65,7 +71,7 @@
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         mPassword = (String) newValue;
         updatePasswordDisplay((EditTextPreference) mPreference);
-        mListener.onTetherConfigUpdated();
+        mListener.onTetherConfigUpdated(this);
         return true;
     }
 
@@ -79,7 +85,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 +95,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..a4289a6 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
@@ -16,22 +16,23 @@
 
 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.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
@@ -57,14 +58,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;
         }
@@ -93,7 +95,7 @@
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         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..66d017a 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -24,17 +24,19 @@
 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;
@@ -44,7 +46,6 @@
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
@@ -54,6 +55,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
@@ -185,9 +189,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 +204,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 +240,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 +260,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 +292,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/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/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..3528fb6 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,190 @@
     }
 
     @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_showsDefaultSummary() {
+        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(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..f3522a9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/ShortcutPreferenceTest.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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.LinearLayout;
+
+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 CHECKBOX_CLICKED = "checkbox_clicked";
+    private static final String SETTINGS_CLICKED = "settings_clicked";
+
+    private ShortcutPreference mShortcutPreference;
+    private PreferenceViewHolder mPreferenceViewHolder;
+    private String mResult;
+
+    private ShortcutPreference.OnClickListener mListener =
+            new ShortcutPreference.OnClickListener() {
+                @Override
+                public void onCheckboxClicked(ShortcutPreference preference) {
+                    mResult = CHECKBOX_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 clickLinearLayout_checkboxClicked() {
+        mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
+        mShortcutPreference.setOnClickListener(mListener);
+
+        LinearLayout mainFrame = mPreferenceViewHolder.itemView.findViewById(R.id.main_frame);
+        mainFrame.performClick();
+
+        assertThat(mResult).isEqualTo(CHECKBOX_CLICKED);
+        assertThat(mShortcutPreference.getChecked()).isTrue();
+    }
+
+    @Test
+    public void clickSettings_settingsClicked() {
+        mShortcutPreference.onBindViewHolder(mPreferenceViewHolder);
+        mShortcutPreference.setOnClickListener(mListener);
+
+        View settings = mPreferenceViewHolder.itemView.findViewById(android.R.id.widget_frame);
+        settings.performClick();
+
+        assertThat(mResult).isEqualTo(SETTINGS_CLICKED);
+    }
+
+    @Test
+    public void setCheckedTrue_getCheckedIsTrue() {
+        mShortcutPreference.setChecked(true);
+
+        assertThat(mShortcutPreference.getChecked()).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..35a2d19 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.getUserShortcutType()).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.setUserShortcutType(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.getUserShortcutType();
+        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..ca2a800 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;
@@ -469,6 +471,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..ed85c01
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/ManageExternalStorageDetailsTest.java
@@ -0,0 +1,201 @@
+/*
+ * 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<String, Integer> mPkgToOpModeMap = new HashMap<>();
+    private final HashMap<Integer, Integer> mUidToOpModeMap = new HashMap<>();
+
+    @Before
+    public void setUp() {
+        // Reset the global trackers
+        mPkgToOpModeMap.clear();
+        mUidToOpModeMap.clear();
+
+        //Start the mockin'
+        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))
+                .setMode(anyInt(), anyInt(), nullable(String.class), anyInt());
+        assertThat(mPkgToOpModeMap).containsExactly(mockPkgName, AppOpsManager.MODE_ALLOWED);
+        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))
+                .setMode(anyInt(), anyInt(), nullable(String.class), anyInt());
+        assertThat(mPkgToOpModeMap).containsExactly(mockPkgName, AppOpsManager.MODE_ERRORED);
+        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> answerSetMode = invocation -> {
+            int code = invocation.getArgument(0);
+            int uid = invocation.getArgument(1);
+            String packageName = invocation.getArgument(2);
+            int mode = invocation.getArgument(3);
+
+            if (code != AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE) {
+                return null;
+            }
+
+            mPkgToOpModeMap.put(packageName, mode);
+            mUidToOpModeMap.put(uid, mode);
+
+            return null;
+        };
+
+        doAnswer(answerSetMode).when(mAppOpsManager)
+                .setMode(anyInt(), anyInt(), nullable(String.class), anyInt());
+
+        Answer<PermissionState> answerPermState = invocation -> {
+            String packageName = invocation.getArgument(0);
+            PermissionState res = new PermissionState(packageName, null);
+            res.permissionDeclared = false;
+
+            if (mPkgToOpModeMap.containsKey(packageName)) {
+                res.permissionDeclared = true;
+                res.appOpMode = mPkgToOpModeMap.get(packageName);
+            }
+            return res;
+        };
+
+        doAnswer(answerPermState).when(mBridge)
+                .getManageExternalStoragePermState(nullable(String.class), anyInt());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceControllerTest.java
index 1e6faa1..8392ac1 100644
--- a/tests/robotests/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/assist/AssistFlashScreenPreferenceControllerTest.java
@@ -41,6 +41,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.Answers;
@@ -80,6 +81,7 @@
     }
 
     @Test
+    @Ignore
     @Config(shadows = {ShadowSecureSettings.class})
     public void isAvailable_hasAssistantAndAllowDisclosure_shouldReturnTrue() {
         ReflectionHelpers.setField(mController, "mContext", mMockContext);
@@ -91,6 +93,7 @@
     }
 
     @Test
+    @Ignore
     @Config(shadows = {ShadowSecureSettings.class})
     public void isAvailable_hasAssistantAndDisallowDisclosure_shouldReturnTrue() {
         ReflectionHelpers.setField(mController, "mContext", mMockContext);
@@ -109,6 +112,7 @@
     }
 
     @Test
+    @Ignore
     @Config(shadows = {ShadowSecureSettings.class})
     public void onResume_shouldUpdatePreference() {
         Settings.Secure.putString(mContext.getContentResolver(),
diff --git a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java
index 3e46027..7de830c 100644
--- a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java
@@ -44,6 +44,7 @@
 import com.android.settingslib.applications.DefaultAppInfo;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -94,6 +95,7 @@
     }
 
     @Test
+    @Ignore
     @Config(shadows = {ShadowSecureSettings.class})
     public void getDefaultAppInfo_hasDefaultAssist_shouldReturnKey() {
         final String flattenKey = "com.android.settings/assist";
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..dfacd81 100644
--- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
@@ -40,10 +40,12 @@
 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;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -105,6 +107,7 @@
     }
 
     @Test
+    @Ignore
     public void setAndGetDefaultAppKey_shouldUpdateDefaultAutoFill() {
         mPicker.onAttach((Context) mActivity);
 
@@ -133,6 +136,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void mUserId_shouldDeriveUidFromManagedCaller() {
         setupUserManager();
         setupCaller();
@@ -145,6 +149,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void mUserId_shouldDeriveUidFromMainCaller() {
         setupUserManager();
         setupCaller();
@@ -157,6 +162,7 @@
     }
 
     @Test
+    @Config(shadows = ShadowFragment.class)
     public void mUserId_shouldDeriveUidFromManagedClick() {
         setupUserManager();
         setupClick(/* forWork= */ true);
@@ -169,6 +175,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..260fc41 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,
                     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/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/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..7f4f530
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.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 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.SettingsActivity;
+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 SettingsActivity mActivity;
+    @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);
+
+        verify(mSwitchBar).setChecked(true);
+        verify(mListener).onEnabled(true);
+        assertThat(Global.getInt(mContext.getContentResolver(),
+                Global.ADB_WIFI_ENABLED, -1)).isEqualTo(1);
+        // Should also get a callback
+    }
+
+    @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);
+
+        verify(mSwitchBar).setChecked(false);
+        verify(mListener).onEnabled(false);
+        assertThat(Global.getInt(mContext.getContentResolver(),
+            Global.ADB_WIFI_ENABLED, -1)).isEqualTo(0);
+        // Should also get a callback
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/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..802f871
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/AbstractBluetoothDialogPreferenceControllerTest.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.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.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+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";
+
+    @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 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());
+        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);
+    }
+
+    @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(null)).thenReturn(mCodecStatus);
+        when(mBluetoothA2dpConfigStore.createCodecConfig()).thenReturn(mCodecConfigAAC);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+        mController.onIndexUpdated(mCurrentConfig);
+
+        verify(mController).writeConfigurationValues(mCurrentConfig);
+        verify(mBluetoothA2dp).setCodecConfigPreference(null, 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(null)).thenReturn(null);
+        assertThat(mController.getCurrentCodecConfig()).isNull();
+    }
+
+    @Test
+    public void getCurrentCodecConfig_verifyConfig() {
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, null);
+        when(mBluetoothA2dp.getCodecStatus(null)).thenReturn(mCodecStatus);
+        mController.onBluetoothServiceConnected(mBluetoothA2dp);
+
+        assertThat(mController.getCurrentCodecConfig()).isEqualTo(mCodecConfigAAC);
+    }
+
+    @Test
+    public void getSelectableConfigs_verifyConfig() {
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(null)).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(null)).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(null)).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(null)).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..0061fc0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreferenceControllerTest.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.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.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+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 {
+
+    @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 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 = 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);
+    }
+
+    @Test
+    public void writeConfigurationValues_selectDefault_setHighest() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigAAC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(null)).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(null)).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..326cc22
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreferenceControllerTest.java
@@ -0,0 +1,131 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+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 {
+
+    @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 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 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);
+    }
+
+    @Test
+    public void writeConfigurationValues_selectDefault_setHighest() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(null)).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(null)).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..f4ed811
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreferenceControllerTest.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.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.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+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 {
+
+    @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 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 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);
+    }
+
+    @Test
+    public void writeConfigurationValues_selectDefault_setHighest() {
+        BluetoothCodecConfig[] mCodecConfigs = {mCodecConfigAAC, mCodecConfigSBC};
+        mCodecStatus = new BluetoothCodecStatus(mCodecConfigSBC, null, mCodecConfigs);
+        when(mBluetoothA2dp.getCodecStatus(null)).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(null)).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(null)).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..1f0daa3
--- /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 Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+    private BluetoothDevice mActiveDevice;
+
+    @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.supportsOptionalCodecs(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.supportsOptionalCodecs(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.supportsOptionalCodecs(mActiveDevice)).thenReturn(
+                mBluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
+        when(mBluetoothA2dp.getOptionalCodecsEnabled(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.supportsOptionalCodecs(mActiveDevice)).thenReturn(
+                mBluetoothA2dp.OPTIONAL_CODECS_SUPPORTED);
+        when(mBluetoothA2dp.getOptionalCodecsEnabled(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(null);
+        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(null);
+        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..35bd704
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreferenceControllerTest.java
@@ -0,0 +1,130 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+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 {
+
+    @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 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 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);
+    }
+
+    @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(null)).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(null)).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..d274a57
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreferenceControllerTest.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.BluetoothCodecConfig;
+import android.bluetooth.BluetoothCodecStatus;
+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 {
+
+    @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 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 = 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);
+    }
+
+    @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(null)).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(null)).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..e558d62
--- /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, "");
+        mChanges[1] = new CompatibilityChangeInfo(2L, "Default_Disabled", 0, true, "");
+        mChanges[2] = new CompatibilityChangeInfo(3L, "Enabled_After_SDK_1_1", 1, false, "");
+        mChanges[3] = new CompatibilityChangeInfo(4L, "Enabled_After_SDK_1_2", 1, false, "");
+        mChanges[4] = new CompatibilityChangeInfo(5L, "Enabled_After_SDK_2", 2, false, "");
+        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].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..366a18d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableForAllAppsPreferenceControllerTest.java
@@ -0,0 +1,212 @@
+/*
+ * 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");
+        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..964fce3 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,6 +81,14 @@
     }
 
     @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);
 
@@ -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/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/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..cec3bee 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
@@ -26,9 +26,9 @@
 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.content.Context;
 import android.content.Intent;
 
@@ -42,6 +42,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,6 +53,10 @@
 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;
@@ -101,18 +106,31 @@
     }
 
     @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
+    @Config(shadows = ShadowBluetoothAdapter.class)
+    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
+    @Config(shadows = ShadowBluetoothAdapter.class)
     public void getSlice_hasBluetoothDevices_shouldMatchBluetoothMockTitle() {
+        final ShadowBluetoothAdapter adapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        adapter.setState(BluetoothAdapter.STATE_ON);
         mockBluetoothDeviceList(1);
         doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
 
@@ -123,7 +141,10 @@
     }
 
     @Test
+    @Config(shadows = ShadowBluetoothAdapter.class)
     public void getSlice_hasMediaBluetoothDevice_shouldBuildMediaBluetoothAction() {
+        final ShadowBluetoothAdapter adapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        adapter.setState(BluetoothAdapter.STATE_ON);
         mockBluetoothDeviceList(1 /* deviceCount */);
         doReturn(true).when(mBluetoothDeviceList.get(0)).isConnectedA2dpDevice();
         doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
@@ -134,7 +155,10 @@
     }
 
     @Test
+    @Config(shadows = ShadowBluetoothAdapter.class)
     public void getSlice_noMediaBluetoothDevice_shouldNotBuildMediaBluetoothAction() {
+        final ShadowBluetoothAdapter adapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        adapter.setState(BluetoothAdapter.STATE_ON);
         mockBluetoothDeviceList(1 /* deviceCount */);
         doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
 
@@ -144,18 +168,10 @@
     }
 
     @Test
-    public void getSlice_noBluetoothDevices_shouldHaveNoBluetoothDevicesTitle() {
-        doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
-
-        final Slice slice = mBluetoothDevicesSlice.getSlice();
-
-        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
-        assertThat(metadata.getTitle()).isEqualTo(
-                mContext.getString(R.string.no_bluetooth_devices));
-    }
-
-    @Test
+    @Config(shadows = ShadowBluetoothAdapter.class)
     public void getSlice_exceedDefaultRowCount_shouldOnlyShowDefaultRows() {
+        final ShadowBluetoothAdapter adapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        adapter.setState(BluetoothAdapter.STATE_ON);
         mockBluetoothDeviceList(BluetoothDevicesSlice.DEFAULT_EXPANDED_ROW_COUNT + 1);
         doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
 
@@ -167,20 +183,6 @@
     }
 
     @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() {
         mockBluetoothDeviceList(1);
         doReturn(mBluetoothDeviceList).when(mBluetoothDevicesSlice).getConnectedBluetoothDevices();
@@ -201,4 +203,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/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..f92b012 100644
--- a/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java
@@ -20,26 +20,36 @@
 
 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.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 +64,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);
@@ -86,6 +101,13 @@
     }
 
     @Test
+    public void onDeviceAttributesChanged_shouldNotifyChange() {
+        mMediaDeviceUpdateWorker.onDeviceAttributesChanged();
+
+        verify(mResolver).notifyChange(URI, null);
+    }
+
+    @Test
     public void onDeviceListUpdate_sameDeviceList_shouldBeEqual() {
         mMediaDeviceUpdateWorker.onDeviceListUpdate(mMediaDevices);
 
@@ -94,7 +116,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 +135,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 +149,37 @@
         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 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/MediaOutputIndicatorSliceTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
index c5584d0..fa926df 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
@@ -17,16 +17,25 @@
 
 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.media.AudioManager;
+import android.media.session.MediaController;
+import android.media.session.MediaSession;
+import android.net.Uri;
+import android.text.TextUtils;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
@@ -34,35 +43,42 @@
 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.MediaOutputSliceConstants;
 
 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.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_PACKAGE_NAME = "com.test";
+
+    private static MediaOutputIndicatorWorker sMediaOutputIndicatorWorker;
 
     @Mock
     private A2dpProfile mA2dpProfile;
@@ -72,6 +88,8 @@
     private LocalBluetoothManager mLocalBluetoothManager;
     @Mock
     private LocalBluetoothProfileManager mLocalBluetoothProfileManager;
+    @Mock
+    private MediaController mMediaController;
 
     private BluetoothAdapter mBluetoothAdapter;
     private BluetoothDevice mA2dpDevice;
@@ -80,17 +98,20 @@
     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);
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        sMediaOutputIndicatorWorker = spy(new MediaOutputIndicatorWorker(mContext,
+                MEDIA_OUTPUT_INDICATOR_SLICE_URI));
+        mToken = new MediaSession.Token(null);
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
-
         // Setup Bluetooth environment
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
         mBluetoothManager = new BluetoothManager(mContext);
@@ -113,11 +134,13 @@
     }
 
     @Test
-    public void getSlice_noConnectedDevice_returnNull() {
+    public void getSlice_noConnectedDevice_returnErrorSlice() {
         mDevicesList.clear();
         when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
 
-        assertThat(mMediaOutputIndicatorSlice.getSlice()).isNull();
+        final Slice mediaSlice = mMediaOutputIndicatorSlice.getSlice();
+        final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
+        assertThat(metadata.isErrorSlice()).isTrue();
     }
 
     @Test
@@ -132,9 +155,11 @@
         assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
         assertThat(metadata.getSubtitle()).isEqualTo(mContext.getText(
                 R.string.media_output_default_summary));
+        assertThat(metadata.isErrorSlice()).isFalse();
     }
 
     @Test
+    @Ignore
     public void getSlice_A2dpDeviceActive_verifyName() {
         mDevicesList.add(mA2dpDevice);
         when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
@@ -144,9 +169,11 @@
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
         assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
         assertThat(metadata.getSubtitle()).isEqualTo(TEST_A2DP_DEVICE_NAME);
+        assertThat(metadata.isErrorSlice()).isFalse();
     }
 
     @Test
+    @Ignore
     public void getSlice_HADeviceActive_verifyName() {
         mDevicesList.add(mHapDevice);
         when(mHearingAidProfile.getConnectedDevices()).thenReturn(mDevicesList);
@@ -157,32 +184,80 @@
         final SliceMetadata metadata = SliceMetadata.from(mContext, mediaSlice);
         assertThat(metadata.getTitle()).isEqualTo(mContext.getText(R.string.media_output_title));
         assertThat(metadata.getSubtitle()).isEqualTo(TEST_HAP_DEVICE_NAME);
+        assertThat(metadata.isErrorSlice()).isFalse();
     }
 
     @Test
-    public void getSlice_callStateIdle_available() {
+    public void getSlice_audioModeIsInCommunication_returnErrorSlice() {
         mDevicesList.add(mA2dpDevice);
         when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        mShadowTelephonyManager.setCallState(TelephonyManager.CALL_STATE_IDLE);
+        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() {
+    public void getSlice_audioModeIsRingtone_returnErrorSlice() {
         mDevicesList.add(mA2dpDevice);
         when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        mShadowTelephonyManager.setCallState(TelephonyManager.CALL_STATE_RINGING);
+        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() {
+    public void getSlice_audioModeIsInCall_returnErrorSlice() {
         mDevicesList.add(mA2dpDevice);
         when(mA2dpProfile.getConnectedDevices()).thenReturn(mDevicesList);
-        mShadowTelephonyManager.setCallState(TelephonyManager.CALL_STATE_OFFHOOK);
+        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..b6231a3 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
@@ -16,11 +16,26 @@
 
 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.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.ShadowBluetoothUtils;
@@ -35,6 +50,10 @@
 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})
@@ -45,28 +64,117 @@
     private BluetoothEventManager mBluetoothEventManager;
     @Mock
     private LocalBluetoothManager mLocalBluetoothManager;
+    @Mock
+    private MediaSessionManager mMediaSessionManager;
+    @Mock
+    private MediaController mMediaController;
+
     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.onSlicePinned();
+        verify(mBluetoothEventManager).registerCallback(mMediaOutputIndicatorWorker);
+        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
     }
 
     @Test
     public void onSliceUnpinned_unRegisterCallback() {
-        mMediaDeviceUpdateWorker.onSlicePinned();
-        mMediaDeviceUpdateWorker.onSliceUnpinned();
-        verify(mBluetoothEventManager).unregisterCallback(mMediaDeviceUpdateWorker);
+        mMediaOutputIndicatorWorker.onSlicePinned();
+        mMediaOutputIndicatorWorker.onSliceUnpinned();
+        verify(mBluetoothEventManager).unregisterCallback(mMediaOutputIndicatorWorker);
+        verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
+    }
+
+    @Test
+    public void onReceive_shouldNotifyChange() {
+        mMediaOutputIndicatorWorker.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 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..adbd14d 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,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.drawable.Drawable;
-import android.telephony.TelephonyManager;
+import android.media.AudioManager;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
@@ -56,16 +57,14 @@
 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_1_NAME = "test_device_1_name";
     private static final int TEST_DEVICE_1_ICON =
@@ -82,33 +81,31 @@
     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.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 +128,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 +145,7 @@
         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(mLocalMediaManager.getCurrentConnectedDevice()).thenReturn(device);
 
         final Slice mediaSlice = mMediaOutputSlice.getSlice();
@@ -192,4 +190,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..f47c0c5 100644
--- a/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/AirplaneModePreferenceControllerTest.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;
@@ -86,6 +87,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())
@@ -119,6 +126,7 @@
     }
 
     @Test
+    @Ignore
     public void airplaneModePreference_testSetValue_updatesCorrectly() {
         // Airplane mode default off
         Settings.Global.putInt(mResolver, Settings.Global.AIRPLANE_MODE_ON, OFF);
@@ -182,9 +190,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..ec4087a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.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.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.net.ConnectivityManager;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothTetherPreferenceControllerTest {
+
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+
+    private BluetoothTetherPreferenceController mController;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        when(mContext.getSystemService(Context.CONNECTIVITY_SERVICE)).thenReturn(
+                mConnectivityManager);
+        when(mConnectivityManager.getTetherableBluetoothRegexs()).thenReturn(new String[] {""});
+        mController = new BluetoothTetherPreferenceController(mContext, BLUETOOTH_TETHER_KEY);
+    }
+
+    @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();
+    }
+}
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..e2410c1 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,18 @@
 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.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;
@@ -54,13 +46,13 @@
 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.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)
@@ -81,7 +73,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(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
@@ -129,6 +121,7 @@
     }
 
     @Test
+    @Ignore
     public void serviceStateChange_shouldUpdatePrefSummary() {
         final String testCarrierName = "test";
         final Preference mPreference = mock(Preference.class);
@@ -154,6 +147,7 @@
     }
 
     @Test
+    @Ignore
     public void airplaneModeTurnedOn_shouldDisablePreference() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Global.AIRPLANE_MODE_ON, 1);
@@ -164,6 +158,7 @@
     }
 
     @Test
+    @Ignore
     public void airplaneModeTurnedOffAndNoUserRestriction_shouldEnablePreference() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Global.AIRPLANE_MODE_ON, 0);
@@ -175,6 +170,7 @@
     }
 
     @Test
+    @Ignore
     public void airplaneModeTurnedOffAndHasUserRestriction_shouldDisablePreference() {
         Settings.Global.putInt(mContext.getContentResolver(),
                 Global.AIRPLANE_MODE_ON, 0);
@@ -184,18 +180,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..3aa82fe
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java
@@ -0,0 +1,214 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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;
+
+    @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]);
+        panReference.set(mBluetoothPan);
+        when(context.getSharedPreferences(TetherEnabler.SHARED_PREF, Context.MODE_PRIVATE))
+                .thenReturn(mSharedPreferences);
+        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(new String[]{""});
+
+        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);
+    }
+}
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..c150222
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.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.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.net.ConnectivityManager;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class UsbTetherPreferenceControllerTest {
+
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+
+    private Context mContext;
+    private UsbTetherPreferenceController mController;
+
+    @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[]{""});
+        mController = new UsbTetherPreferenceController(mContext, USB_TETHER_KEY);
+    }
+
+    @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();
+    }
+}
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/DataServiceSetupPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/DataServiceSetupPreferenceControllerTest.java
index 8907164..ddfae64 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).isGlobalModeEnabled();
         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).isGlobalModeEnabled();
         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).isGlobalModeEnabled();
         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..2f3aecc 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;
@@ -45,6 +45,7 @@
 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;
@@ -115,11 +116,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);
@@ -151,8 +153,9 @@
     public void init_initDisplay5gList_returnTrue() {
         long testBitmask = TelephonyManager.NETWORK_TYPE_BITMASK_NR
                 | TelephonyManager.NETWORK_TYPE_BITMASK_LTE;
+        long allowedNetworkTypes = -1;
         doReturn(testBitmask).when(mTelephonyManager).getSupportedRadioAccessFamily();
-
+        doReturn(allowedNetworkTypes).when(mTelephonyManager).getAllowedNetworkTypes();
         mController.init(mLifecycle, SUB_ID);
 
         assertThat(mController.mDisplay5gList).isTrue();
@@ -169,27 +172,31 @@
 
     @Test
     public void updateState_updateByNetworkMode() {
+        long allowedNetworkTypes = -1;
+        doReturn(allowedNetworkTypes).when(mTelephonyManager).getAllowedNetworkTypes();
         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("3G");
     }
 
     @Test
     public void updateState_updateByNetworkMode_useDefaultValue() {
+        long allowedNetworkTypes = -1;
+        doReturn(allowedNetworkTypes).when(mTelephonyManager).getAllowedNetworkTypes();
         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.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
     }
 
     /**
@@ -391,54 +398,54 @@
 
     @Test
     public void onPreferenceChange_updateSuccess() {
-        doReturn(true).when(mTelephonyManager).setPreferredNetworkType(SUB_ID,
-                TelephonyManager.NETWORK_MODE_LTE_GSM_WCDMA);
+        doReturn(true).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
+                getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
         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);
+        doReturn(false).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
+                getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
 
         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);
+        long allowedNetworkTypes = -1;
+        doReturn(allowedNetworkTypes).when(mTelephonyManager).getAllowedNetworkTypes();
         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");
     }
 }
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..3641a97 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkActivityTest.java
@@ -16,253 +16,188 @@
 
 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;
+import org.junit.Ignore;
 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.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));
+    @Ignore
+    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();
+    @Ignore
+    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;
+    @Ignore
+    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;
+            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);
+    @Ignore
+    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);
+
+        mMobileNetworkActivity.onActivity(activity -> {
+            final MockMobileNetworkActivity mockActivity = (MockMobileNetworkActivity) activity;
+            assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
+
+            mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo2);
+            mContext.sendBroadcast(new Intent(
+                    CarrierConfigManager.ACTION_CARRIER_CONFIG_CHANGED), null);
+
+            assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo2);
+
+            mSubscriptionManager.setActiveSubscriptionInfos(mSubscriptionInfo1);
+            mContext.sendBroadcast(new Intent(
+                    TelephonyIntents.ACTION_RADIO_TECHNOLOGY_CHANGED), null);
+
+            assertThat(mockActivity.mSubscriptionInFragment).isEqualTo(mSubscriptionInfo1);
+        });
     }
 
     @Test
-    public void phoneChangeReceiver_ignoresCarrierConfigChangeForWrongSubscriptionId() {
-        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, 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);
-    }
-
-    @Test
+    @Ignore
     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/ImportantConversationBubblePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ImportantConversationBubblePreferenceControllerTest.java
new file mode 100644
index 0000000..c99e095
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ImportantConversationBubblePreferenceControllerTest.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.notification.app;
+
+import static android.provider.Settings.Global.NOTIFICATION_BUBBLES;
+import static android.provider.Settings.Secure.BUBBLE_IMPORTANT_CONVERSATIONS;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
+import static com.android.settings.notification.app.ImportantConversationBubblePreferenceController.OFF;
+import static com.android.settings.notification.app.ImportantConversationBubblePreferenceController.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.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;
+
+@RunWith(RobolectricTestRunner.class)
+public class ImportantConversationBubblePreferenceControllerTest {
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private Context mContext;
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private PreferenceScreen mScreen;
+
+    private ImportantConversationBubblePreferenceController mController;
+    @Mock
+    private TwoStatePreference mPreference;
+
+    private static final String KEY = "important_bubble";
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = new ImportantConversationBubblePreferenceController(mContext, KEY);
+        when(mPreference.getKey()).thenReturn(mController.getPreferenceKey());
+        when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
+    }
+
+    @Test
+    public void testGetAvailabilityStatus_globallyOn() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, ON);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void testGetAvailabilityStatus_globallyOff() {
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, OFF);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
+    }
+
+    @Test
+    public void updateState_preferenceSetCheckedWhenSettingIsOn() {
+        Settings.Secure.putInt(mContext.getContentResolver(), BUBBLE_IMPORTANT_CONVERSATIONS, ON);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_preferenceSetUncheckedWhenSettingIsOff() {
+        Settings.Secure.putInt(mContext.getContentResolver(), BUBBLE_IMPORTANT_CONVERSATIONS, OFF);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void isChecked_settingIsOff_shouldReturnFalse() {
+        Settings.Secure.putInt(mContext.getContentResolver(), BUBBLE_IMPORTANT_CONVERSATIONS, OFF);
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_settingIsOn_shouldReturnTrue() {
+        Settings.Secure.putInt(mContext.getContentResolver(), BUBBLE_IMPORTANT_CONVERSATIONS, ON);
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void setChecked_setFalse_disablesSetting() {
+        Settings.Secure.putInt(mContext.getContentResolver(), BUBBLE_IMPORTANT_CONVERSATIONS, ON);
+
+        mController.setChecked(false);
+        int updatedValue = Settings.Secure.getInt(mContext.getContentResolver(),
+                BUBBLE_IMPORTANT_CONVERSATIONS, -1);
+
+        assertThat(updatedValue).isEqualTo(OFF);
+    }
+
+    @Test
+    public void setChecked_setTrue_enablesSetting() {
+        Settings.Secure.putInt(mContext.getContentResolver(), BUBBLE_IMPORTANT_CONVERSATIONS, OFF);
+
+        mController.setChecked(true);
+        int updatedValue = Settings.Secure.getInt(mContext.getContentResolver(),
+                BUBBLE_IMPORTANT_CONVERSATIONS, -1);
+
+        assertThat(updatedValue).isEqualTo(ON);
+    }
+
+    @Test
+    public void isSliceable_returnsFalse() {
+        assertThat(mController.isSliceable()).isFalse();
+    }
+}
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..8888093 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,6 +42,27 @@
 
     public static final Intent INTENT = new Intent();
 
+    private CharSequence mSubTitle;
+    private IconCompat mIcon;
+
+    @Override
+    public IconCompat getIcon() {
+        return mIcon;
+    }
+
+    @Override
+    public CharSequence getSubTitle() {
+        return mSubTitle;
+    }
+
+    public void setIcon(IconCompat icon) {
+        mIcon = icon;
+    }
+
+    public void setSubTitle(CharSequence subTitle) {
+        mSubTitle = subTitle;
+    }
+
     @Override
     public CharSequence getTitle() {
         return TITLE;
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/MediaOutputPanelTest.java b/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java
index b411037..ea77485 100644
--- a/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java
+++ b/tests/robotests/src/com/android/settings/panel/MediaOutputPanelTest.java
@@ -20,28 +20,73 @@
 
 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.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 PanelCustomizedButtonCallback mCallback;
 
     private MediaOutputPanel mPanel;
+    private Context mContext;
+    private List<MediaController> mMediaControllers = new ArrayList<>();
 
     @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 +107,140 @@
     public void getSeeMoreIntent_isNull() {
         assertThat(mPanel.getSeeMoreIntent()).isNull();
     }
+
+    @Test
+    public void onStart_shouldRegisterCallback() {
+        mPanel.onStart();
+
+        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() {
+        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() {
+        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();
+    }
 }
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..1976557 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,14 +41,18 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-
 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 SUBTITLE = "subtitle";
+
     private Context mContext;
     private PanelFragment mPanelFragment;
     private FakeSettingsPanelActivity mActivity;
@@ -63,7 +70,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());
 
         mActivity = spy(Robolectric.buildActivity(FakeSettingsPanelActivity.class).setup().get());
 
@@ -83,7 +90,7 @@
                 new LinearLayout(mContext), null);
         PanelSlicesLoaderCountdownLatch countdownLatch =
                 mPanelFragment.mPanelSlicesLoaderCountdownLatch;
-        for (Uri sliecUri: mFakePanelContent.getSlices()) {
+        for (Uri sliecUri : mFakePanelContent.getSlices()) {
             countdownLatch.markSliceLoaded(sliecUri);
         }
 
@@ -142,4 +149,39 @@
                 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 View titleView = mPanelFragment.mLayoutView.findViewById(R.id.panel_title);
+        final View panelHeader = mPanelFragment.mLayoutView.findViewById(R.id.panel_header);
+
+        assertThat(panelHeader.getVisibility()).isEqualTo(View.GONE);
+        assertThat(titleView.getVisibility()).isEqualTo(View.VISIBLE);
+    }
 }
\ 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..37036c4 100644
--- a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
@@ -36,32 +36,29 @@
 import androidx.slice.Slice;
 
 import com.android.settings.R;
-import com.android.settings.slices.CustomSliceRegistry;
 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.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.android.controller.ActivityController;
 
-import java.util.ArrayList;
-import java.util.List;
+import java.util.LinkedHashMap;
+import java.util.Map;
 
 @RunWith(RobolectricTestRunner.class)
 public class PanelSlicesAdapterTest {
 
-    private static final Uri DATA_URI = CustomSliceRegistry.DATA_USAGE_SLICE_URI;
-
     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 +69,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 +90,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);
@@ -127,22 +112,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);
 
@@ -157,4 +126,4 @@
 
         assertThat(viewHolder.isDividerAllowedAbove()).isFalse();
     }
-}
\ No newline at end of file
+}
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..0db684e 100644
--- a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
+++ b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
@@ -13,6 +13,7 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.search.SearchIndexableData;
 
 import org.junit.After;
 import org.junit.Before;
@@ -46,7 +47,8 @@
         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;
     }
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..89be17a 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;
 
@@ -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..a969420 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,6 @@
 import androidx.slice.SliceProvider;
 import androidx.slice.widget.SliceLiveData;
 
-import com.android.settings.R;
 import com.android.settings.testutils.DatabaseTestUtils;
 import com.android.settings.testutils.FakeToggleController;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
@@ -69,12 +69,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 +92,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 +129,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 +153,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 +166,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 +212,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 +264,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 +293,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 +309,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 +324,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 +340,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 +364,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 +385,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 +432,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 +456,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,6 +485,48 @@
     }
 
     @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");
@@ -486,31 +566,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 +612,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/StyleSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/wallpaper/StyleSuggestionActivityTest.java
index 120c780..72f9c62 100644
--- a/tests/robotests/src/com/android/settings/wallpaper/StyleSuggestionActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wallpaper/StyleSuggestionActivityTest.java
@@ -28,6 +28,7 @@
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -60,6 +61,7 @@
     }
 
     @Test
+    @Ignore
     @Config(shadows = ShadowSecureSettings.class)
     public void hasStyleSet_yes_shouldReturnTrue() {
         when(mResources.getBoolean(com.android.internal.R.bool.config_enableWallpaperService))
@@ -71,6 +73,7 @@
     }
 
     @Test
+    @Ignore
     @Config(shadows = ShadowSecureSettings.class)
     public void hasStyleSet_no_shouldReturnFalse() {
         when(mResources.getBoolean(com.android.internal.R.bool.config_enableWallpaperService))
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..3439ca4 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,14 +46,16 @@
 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
@@ -67,10 +69,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 +95,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/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/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..e0dc97f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
@@ -0,0 +1,557 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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 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 ac5fa08..3a17b6c 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);
@@ -416,6 +390,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,
@@ -450,6 +425,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);
@@ -466,18 +480,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 ;
@@ -506,4 +534,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..e5c730f 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
@@ -15,8 +15,6 @@
  */
 package com.android.settings.wifi;
 
-import static com.google.common.truth.Truth.assertThat;
-
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.ArgumentMatchers.isNull;
@@ -27,10 +25,12 @@
 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.net.wifi.WifiManager;
 import android.provider.Settings;
 
 import androidx.appcompat.app.AlertDialog;
@@ -53,6 +53,8 @@
     private Context mContext;
     private ContentResolver mResolver;
     @Mock
+    private WifiManager mWifiManager;
+    @Mock
     private Fragment mCallbackFragment;
     @Mock
     private AlertDialog.Builder mBuilder;
@@ -61,12 +63,13 @@
     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(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 +77,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(false);
     }
 
     @Test
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/WifiTetherPasswordPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java
index 62fb277..bf2261a 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceControllerTest.java
@@ -25,7 +25,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.PreferenceScreen;
@@ -59,18 +59,17 @@
 
     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("test_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"});
@@ -84,22 +83,22 @@
     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
@@ -107,19 +106,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 +126,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..fc38088 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceControllerTest.java
@@ -25,14 +25,11 @@
 
 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 org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -76,7 +73,7 @@
 
     @Test
     public void displayPreference_noWifiConfig_shouldDisplayDefaultSSID() {
-        when(mWifiManager.getWifiApConfiguration()).thenReturn(null);
+        when(mWifiManager.getSoftApConfiguration()).thenReturn(null);
 
         mController.displayPreference(mScreen);
         assertThat(mController.getSSID())
@@ -85,12 +82,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 +99,7 @@
         mController.onPreferenceChange(mPreference, "0");
         assertThat(mController.getSSID()).isEqualTo("0");
 
-        verify(mListener, times(2)).onTetherConfigUpdated();
+        verify(mListener, times(2)).onTetherConfigUpdated(mController);
     }
 
     @Test
@@ -113,23 +110,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 +135,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..e501689 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -39,6 +39,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowWifiManager;
 
 import org.junit.Before;
@@ -115,6 +116,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/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);
         }
     }
 
