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/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..e94150d
--- /dev/null
+++ b/res/layout/notification_sbn_log_row.xml
@@ -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.
+-->
+<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: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"
+            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 0a25934..a3ad4207 100644
--- a/res/layout/wifi_dialog.xml
+++ b/res/layout/wifi_dialog.xml
@@ -156,8 +156,7 @@
                             android:layout_width="match_parent"
                             android:layout_height="wrap_content"
                             style="@style/wifi_item_spinner"
-                            android:prompt="@string/please_select_phase2"
-                            android:entries="@array/wifi_phase2_entries" />
+                            android:prompt="@string/please_select_phase2" />
                 </LinearLayout>
 
                 <LinearLayout android:id="@+id/l_ca_cert"
@@ -178,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"
@@ -238,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"
@@ -287,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"
@@ -336,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>
 
@@ -353,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"
@@ -657,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/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 194e8fb..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 -->
@@ -368,14 +380,12 @@
 
     <!-- Phase 2 options for PEAP -->
     <string-array name="wifi_peap_phase2_entries">
-        <item>None</item>
         <item>MSCHAPV2</item>
         <item>GTC</item>
     </string-array>
 
     <!-- Type of EAP method when EAP SIM, AKA, AKA' are supported -->
     <string-array name="wifi_peap_phase2_entries_with_sim_auth">
-        <item>None</item>
         <item translatable="false">MSCHAPV2</item>
         <item translatable="false">GTC</item>
         <item translatable="false">SIM</item>
@@ -383,9 +393,8 @@
         <item translatable="false">AKA\'</item>
     </string-array>
 
-    <!-- Phase 2 options for rest of EAP methods -->
-    <string-array name="wifi_phase2_entries">
-        <item>None</item>
+    <!-- Phase 2 options for TTLS -->
+    <string-array name="wifi_ttls_phase2_entries">
         <item>PAP</item>
         <item>MSCHAP</item>
         <item>MSCHAPV2</item>
@@ -393,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>
@@ -465,6 +474,7 @@
         <item>1xRTT</item>
         <item>IS95B</item>
         <item>IS95A</item>
+        <item>NR</item>
     </string-array>
 
     <string-array translatable="false" name="bearer_values">
@@ -500,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 -->
@@ -682,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>
@@ -917,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 />
@@ -928,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. -->
@@ -997,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" >
@@ -1105,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>
@@ -1388,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] -->
@@ -1419,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..81c76e4 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,9 @@
     <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 detail preference. [CHAR LIMIT=32] -->
+    <string name="wifi_subscription_detail">Subscription details</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 +2051,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 +2061,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 +2092,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 +2133,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 +2229,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 +2343,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 +2361,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 +2531,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 +2543,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 +2561,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 +2780,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 +2822,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 +2834,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 +2872,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 +2982,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 +3066,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 +3126,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 +3649,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 +3760,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 +4007,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 +4024,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 +4054,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 +4231,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 +4359,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 +4823,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 +4838,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 +4873,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 +4883,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 +4928,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 +4980,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 +5018,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 +5051,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 +5074,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 +5146,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 +5599,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 +5622,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 +5866,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 +6077,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 +6117,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 +6193,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 +6231,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 +7005,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 +7046,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 +7095,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 +7156,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 +7306,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 +7324,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 +7353,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 +7388,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 +7418,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 +7433,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 +7460,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 +7532,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 +7559,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 +7576,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 +7588,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 +7603,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 +7626,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 +7698,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 +7780,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 +7845,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 +7921,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 +8061,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 +8103,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 +8114,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 +8163,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 +8270,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 +8370,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 +8413,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 +8492,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.Your data may be exposed 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 +8649,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 +8813,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 +8858,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 +9005,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 +9034,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 +9210,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 +9237,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 +9268,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 +9698,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 +10147,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 +10317,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 +10325,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 +10554,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 +10956,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 +10978,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 +11089,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 +11508,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 +11525,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 +11553,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 +11705,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 +11743,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..85b25e4 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -153,6 +153,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 +282,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 +312,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 +461,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 +506,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 +516,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 +588,11 @@
         <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: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 +670,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..6009f6a 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="false"
+        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..6cf1955 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,7 @@
                         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"/>
 
     </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..156b744
--- /dev/null
+++ b/res/xml/wifi_network_details_fragment2.xml
@@ -0,0 +1,147 @@
+<?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"/>
+
+    <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>
+
+    <Preference
+        android:key="subscription_detail"
+        android:title="@string/wifi_subscription_detail"
+        settings:allowDividerAbove="true"/>
+
+</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..8da6fbb
--- /dev/null
+++ b/src/com/android/settings/accessibility/AccessibilityUtil.java
@@ -0,0 +1,353 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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.os.Build;
+import android.provider.Settings;
+import android.text.TextUtils;
+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);
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/AnimatedImagePreference.java b/src/com/android/settings/accessibility/AnimatedImagePreference.java
new file mode 100644
index 0000000..1609a3c
--- /dev/null
+++ b/src/com/android/settings/accessibility/AnimatedImagePreference.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.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;
+
+    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 && mImageUri != null) {
+            imageView.setImageURI(mImageUri);
+
+            final Drawable drawable = imageView.getDrawable();
+            if (drawable != null) {
+                if (drawable instanceof AnimatedImageDrawable) {
+                    ((AnimatedImageDrawable) drawable).start();
+                }
+            }
+        }
+    }
+
+    /**
+     * Set 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();
+        }
+    }
+}
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..fcf4725
--- /dev/null
+++ b/src/com/android/settings/accessibility/HtmlTextPreference.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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;
+
+import java.util.List;
+import java.util.regex.Pattern;
+
+/**
+ * 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;
+    private List<String> mUnsupportedTagList;
+
+    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())) {
+            final String filteredText = getFilteredText(getSummary().toString());
+            summaryView.setText(Html.fromHtml(filteredText, 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();
+        }
+    }
+
+    /**
+     * Sets unsupported tag list, the text will be filtered though this list in advanced.
+     *
+     * @param unsupportedTagList the list of unsupported tags
+     */
+    public void setUnsupportedTagList(List<String> unsupportedTagList) {
+        if (unsupportedTagList != null && !unsupportedTagList.equals(mUnsupportedTagList)) {
+            mUnsupportedTagList = unsupportedTagList;
+            notifyChanged();
+        }
+    }
+
+    private String getFilteredText(String text) {
+        if (mUnsupportedTagList == null) {
+            return text;
+        }
+
+        int i = 1;
+        for (String tag : mUnsupportedTagList) {
+            if (!TextUtils.isEmpty(text)) {
+                final String index = String.valueOf(i++);
+                final String targetStart1 = "(?i)<" + tag + " ";
+                final String targetStart2 = "(?i)<" + tag + ">";
+                final String replacementStart1 = "<unsupportedtag" + index + " ";
+                final String replacementStart2 = "<unsupportedtag" + index + ">";
+                final String targetEnd = "(?i)</" + tag + ">";
+                final String replacementEnd = "</unsupportedtag" + index + ">";
+                text = Pattern.compile(targetStart1).matcher(text).replaceAll(replacementStart1);
+                text = Pattern.compile(targetStart2).matcher(text).replaceAll(replacementStart2);
+                text = Pattern.compile(targetEnd).matcher(text).replaceAll(replacementEnd);
+            }
+        }
+        return text;
+    }
+}
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
index dcf1f1c..82e8335 100644
--- a/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
+++ b/src/com/android/settings/accessibility/ShortcutServicePickerFragment.java
@@ -33,8 +33,8 @@
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.text.TextUtils;
-import android.view.accessibility.AccessibilityManager;
 import android.view.View;
+import android.view.accessibility.AccessibilityManager;
 
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
@@ -44,9 +44,9 @@
 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 com.android.settingslib.widget.RadioButtonPreference;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -183,7 +183,7 @@
         public void onClick(View view) {
             final Fragment fragment = getTargetFragment();
             if ((view.getId() == R.id.permission_enable_allow_button)
-                && (fragment instanceof ShortcutServicePickerFragment)) {
+                    && (fragment instanceof ShortcutServicePickerFragment)) {
                 final Bundle bundle = getArguments();
                 ((ShortcutServicePickerFragment) fragment).onServiceConfirmed(
                         bundle.getString(EXTRA_KEY));
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..19a0f2b 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -16,60 +16,195 @@
 
 package com.android.settings.accessibility;
 
+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 ANCHOR_TAG = "a";
+    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, third party developer must follow the rule,
+    // such as <img src="R.drawable.fileName"/>, a11y settings will get third party resources
+    // by this.
+    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 AnimatedImagePreference animatedImagePreference = new AnimatedImagePreference(
+                    getPrefContext());
+            animatedImagePreference.setImageUri(mImageUri);
+            animatedImagePreference.setSelectable(false);
+            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);
+
+            // For accessibility service, avoid malicious links made by third party developer.
+            final List<String> unsupportedTagList = new ArrayList<>();
+            unsupportedTagList.add(ANCHOR_TAG);
+
+            final HtmlTextPreference htmlTextPreference = new HtmlTextPreference(getPrefContext());
+            htmlTextPreference.setSummary(mHtmlDescription);
+            htmlTextPreference.setImageGetter(mImageGetter);
+            htmlTextPreference.setUnsupportedTagList(unsupportedTagList);
+            htmlTextPreference.setSelectable(false);
+            introductionCategory.addPreference(htmlTextPreference);
         }
     }
 
@@ -80,37 +215,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 +350,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 +361,317 @@
         // 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);
+
+        final Drawable drawable = mImageGetterCacheView.getDrawable().mutate();
+        if (drawable != null) {
+            drawable.setBounds(/* left= */0, /* top= */0, drawable.getIntrinsicWidth(),
+                    drawable.getIntrinsicHeight());
+        }
+
+        mImageGetterCacheView.setImageURI(null);
+        mImageGetterCacheView.setImageDrawable(null);
+        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..0cfb831 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";
@@ -91,13 +93,8 @@
     private static final int LOADER_CHART_DATA = 2;
     private 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 +108,6 @@
     LoadingViewController mLoadingViewController;
 
     private ChartDataUsagePreference mChart;
-    private TelephonyManager mTelephonyManager;
     private List<NetworkCycleChartData> mCycleData;
     private ArrayList<Long> mCycles;
     private UidDetailProvider mUidDetailProvider;
@@ -133,14 +129,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 +187,14 @@
     @Override
     public void onResume() {
         super.onResume();
-        mDataStateListener.setListener(true, mSubId, getContext());
+        mDataStateListener.start(mSubId);
         updateBody();
     }
 
     @Override
     public void onPause() {
         super.onPause();
-        mDataStateListener.setListener(false, mSubId, getContext());
+        mDataStateListener.stop();
     }
 
     @Override
@@ -234,6 +231,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.
      */
@@ -253,7 +257,7 @@
 
         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 +404,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 5c3772b..2ee77d9 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 {
@@ -147,8 +146,7 @@
 
     @VisibleForTesting
     boolean isCdmaLteEnabled() {
-        return mTelephonyManager.getLteOnCdmaMode(mSubscriptionInfo.getSubscriptionId())
-                == PhoneConstants.LTE_ON_CDMA_TRUE;
+        return mTelephonyManager.isGlobalModeEnabled();
     }
 
     @VisibleForTesting
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..d7e07d9 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,58 @@
     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);
-                }
-            }
+            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 +221,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 +280,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 +297,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 +325,54 @@
         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(
+                            SimStatusDialogController.this.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 +426,7 @@
             return;
         }
 
-        ServiceState serviceState = getCurrentServiceState();
+        ServiceState serviceState = mTelephonyManager.getServiceState();
         if (serviceState == null || !Utils.isInService(serviceState)) {
             return;
         }
@@ -344,13 +455,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 +506,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 +677,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..8faae30 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;
@@ -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..17d7cee 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorSlice.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
@@ -23,8 +23,8 @@
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
+import android.graphics.Bitmap;
 import android.net.Uri;
-import android.telephony.TelephonyManager;
 import android.util.Log;
 
 import androidx.core.graphics.drawable.IconCompat;
@@ -66,7 +66,9 @@
     @Override
     public Slice getSlice() {
         if (!isVisible()) {
-            return null;
+            return new ListBuilder(mContext, MEDIA_OUTPUT_INDICATOR_SLICE_URI, ListBuilder.INFINITY)
+                    .setIsError(true)
+                    .build();
         }
         final IconCompat icon = IconCompat.createWithResource(mContext,
                 com.android.internal.R.drawable.ic_settings_bluetooth);
@@ -76,18 +78,24 @@
         final SliceAction primarySliceAction = SliceAction.createDeeplink(
                 primaryActionIntent, icon, ListBuilder.ICON_IMAGE, title);
         @ColorInt final int color = Utils.getColorAccentDefaultColor(mContext);
-
+        // To set an empty icon to indent the row
         final ListBuilder listBuilder = new ListBuilder(mContext,
                 MEDIA_OUTPUT_INDICATOR_SLICE_URI,
                 ListBuilder.INFINITY)
                 .setAccentColor(color)
                 .addRow(new ListBuilder.RowBuilder()
                         .setTitle(title)
+                        .setTitleItem(createEmptyIcon(), ListBuilder.ICON_IMAGE)
                         .setSubtitle(findActiveDeviceName())
                         .setPrimaryAction(primarySliceAction));
         return listBuilder.build();
     }
 
+    private IconCompat createEmptyIcon() {
+        final Bitmap bitmap = Bitmap.createBitmap(1, 1, Bitmap.Config.ARGB_8888);
+        return IconCompat.createWithBitmap(bitmap);
+    }
+
     private Intent getMediaOutputSliceIntent() {
         final Intent intent = new Intent()
                 .setAction(MediaOutputSliceConstants.ACTION_MEDIA_OUTPUT)
@@ -115,13 +123,11 @@
     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 +155,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..6498dd6 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorWorker.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
@@ -16,9 +16,16 @@
 
 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.net.Uri;
+import android.text.TextUtils;
 import android.util.Log;
 
 import com.android.settings.bluetooth.Utils;
@@ -36,10 +43,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 +61,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 +73,11 @@
             return;
         }
         mLocalBluetoothManager.getEventManager().unregisterCallback(this);
+        mContext.unregisterReceiver(mReceiver);
     }
 
     @Override
-    public void close() throws IOException {
+    public void close() {
         mLocalBluetoothManager = null;
     }
 
@@ -74,7 +89,8 @@
 
     @Override
     public void onActiveDeviceChanged(CachedBluetoothDevice activeDevice, int bluetoothProfile) {
-        if (bluetoothProfile == BluetoothProfile.A2DP) {
+        if (bluetoothProfile == BluetoothProfile.A2DP ||
+                bluetoothProfile == BluetoothProfile.HEARING_AID) {
             notifySliceChange();
         }
     }
@@ -83,4 +99,14 @@
     public void onAudioModeChanged() {
         notifySliceChange();
     }
+
+    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..091e7f5 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;
@@ -50,7 +48,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 +57,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 +129,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 +137,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 +245,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 +262,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 +304,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 +323,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 +371,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
@@ -353,12 +422,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 +453,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 +526,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 +582,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 +598,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 +610,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 +656,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 +676,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 +691,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 +705,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 +721,7 @@
                 // ignore
             }
         }
-        String val = retVal.toString();
+        final String val = retVal.toString();
         if (!TextUtils.isEmpty(val)) {
             return val;
         }
@@ -657,26 +729,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 +783,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 +906,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 +932,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 +940,7 @@
                     + "' valueFromDb: '" + valueFromLocalCache + "'");
         }
 
-        boolean isDiff = assumeDiff || value != valueFromLocalCache;
+        final boolean isDiff = assumeDiff || value != valueFromLocalCache;
         if (isDiff) {
             cv.put(key, value);
         }
@@ -871,18 +962,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 +1037,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 +1048,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 +1084,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 +1103,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 +1172,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 +1192,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 +1225,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 +1251,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 +1303,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 +1398,7 @@
         }
 
         Integer getInteger(int index, Integer defaultValue) {
-            Integer val = getInteger(index);
+            final Integer val = getInteger(index);
             return val == null ? defaultValue : val;
         }
 
@@ -1304,4 +1406,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/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..138930b 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,13 +31,19 @@
 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.Bitmap;
+import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
+import android.service.notification.ConversationChannelWrapper;
 import android.service.notification.NotifyingApp;
 import android.text.format.DateUtils;
 import android.util.IconDrawableFactory;
@@ -44,9 +53,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 +164,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 +214,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 +252,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 +400,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 +506,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) {
+        if (info == null) {
+            return null;
+        }
+        ConversationIconFactory iconFactory = new ConversationIconFactory(context,
+                context.getSystemService(LauncherApps.class),
+                context.getPackageManager(), IconDrawableFactory.newInstance(context),
+                context.getResources().getDimensionPixelSize(
+                        R.dimen.conversation_icon_size));
+        return new BitmapDrawable(context.getResources(),
+                iconFactory.getConversationBitmap(info, pkg, uid));
+    }
+
+    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..b36c294
--- /dev/null
+++ b/src/com/android/settings/notification/app/AppConversationListPreferenceController.java
@@ -0,0 +1,163 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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));
+        }
+        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..369f3af
--- /dev/null
+++ b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
@@ -0,0 +1,129 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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..35e1f7d
--- /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..79ed28c
--- /dev/null
+++ b/src/com/android/settings/notification/app/ConversationListPreferenceController.java
@@ -0,0 +1,149 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.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()));
+        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..5ef9246
--- /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) {
+            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..9d52178
--- /dev/null
+++ b/src/com/android/settings/notification/app/NotificationSettings.java
@@ -0,0 +1,339 @@
+/*
+ * 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 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);
+        }
+    }
+
+    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() {
+            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..9f8a07f
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
@@ -0,0 +1,280 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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() {
+
+        @Override
+        public void onListenerConnected() {
+            StatusBarNotification[] snoozed = getSnoozedNotifications();
+            if (snoozed == null || snoozed.length == 0) {
+                mSnoozeView.setVisibility(View.GONE);
+            } else {
+                RecyclerView rv = mSnoozeView.findViewById(R.id.notification_list);
+                LinearLayoutManager lm = new LinearLayoutManager(NotificationHistoryActivity.this);
+                rv.setLayoutManager(lm);
+                rv.setAdapter(new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
+                DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(
+                        rv.getContext(), lm.getOrientation());
+                rv.addItemDecoration(dividerItemDecoration);
+                rv.setNestedScrollingEnabled(false);
+
+                ((NotificationSbnAdapter) rv.getAdapter()).onRebuildComplete(
+                        new ArrayList<>(Arrays.asList(snoozed)));
+            }
+
+            try {
+                StatusBarNotification[] dismissed = mNm.getHistoricalNotifications(
+                        NotificationHistoryActivity.this.getPackageName(), 6, false);
+                RecyclerView rv = mDismissView.findViewById(R.id.notification_list);
+                LinearLayoutManager lm = new LinearLayoutManager(NotificationHistoryActivity.this);
+                rv.setLayoutManager(lm);
+                rv.setAdapter(new NotificationSbnAdapter(NotificationHistoryActivity.this, mPm));
+                DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(
+                        rv.getContext(), lm.getOrientation());
+                rv.addItemDecoration(dividerItemDecoration);
+                rv.setNestedScrollingEnabled(false);
+
+                ((NotificationSbnAdapter) rv.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);
+            }
+        }
+    };
+}
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..f1dcf47
--- /dev/null
+++ b/src/com/android/settings/notification/history/NotificationSbnAdapter.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.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();
+    }
+
+    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..7b69fe3 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,68 @@
     }
 
     @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() {
+    }
+
+    @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..440882f 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;
@@ -147,7 +146,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 48c9e54..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;
@@ -113,25 +121,28 @@
     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_NONE       = 0;
-    public static final int WIFI_PEAP_PHASE2_MSCHAPV2   = 1;
-    public static final int WIFI_PEAP_PHASE2_GTC        = 2;
-    public static final int WIFI_PEAP_PHASE2_SIM        = 3;
-    public static final int WIFI_PEAP_PHASE2_AKA        = 4;
-    public static final int WIFI_PEAP_PHASE2_AKA_PRIME  = 5;
+    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<String> mPhase2PeapAdapter;
-    /* Full list of phase2 methods */
-    private ArrayAdapter<String> mPhase2FullAdapter;
+    private ArrayAdapter<CharSequence> mPhase2PeapAdapter;
+    /* Phase2 methods supported by TTLS are limited */
+    private ArrayAdapter<CharSequence> mPhase2TtlsAdapter;
 
     // e.g. AccessPoint.SECURITY_NONE
     @VisibleForTesting
     int mAccessPointSecurity;
     private TextView mPasswordView;
     private ImageButton mSsidScanButton;
-    private ImageButton mPasswordScanButton;
 
     private String mUnspecifiedCertString;
     private String mMultipleCertSetString;
@@ -143,10 +154,11 @@
     private Spinner mSecuritySpinner;
     private Spinner mEapMethodSpinner;
     private Spinner mEapCaCertSpinner;
+    private Spinner mEapOcspSpinner;
     private TextView mEapDomainView;
     private Spinner mPhase2Spinner;
-    // Associated with mPhase2Spinner, one of mPhase2FullAdapter or mPhase2PeapAdapter
-    private ArrayAdapter<String> mPhase2Adapter;
+    // Associated with mPhase2Spinner, one of mPhase2TtlsAdapter or mPhase2PeapAdapter
+    private ArrayAdapter<CharSequence> mPhase2Adapter;
     private Spinner mEapUserCertSpinner;
     private TextView mEapIdentityView;
     private TextView mEapAnonymousView;
@@ -173,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;
@@ -187,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);
@@ -221,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<String>(
-                    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<String>(
-                    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);
 
-        mPhase2FullAdapter = new ArrayAdapter<String>(
-                mContext, android.R.layout.simple_spinner_item,
-                res.getStringArray(R.array.wifi_phase2_entries));
-        mPhase2FullAdapter.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);
@@ -245,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);
@@ -255,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);
         }
@@ -271,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());
 
@@ -285,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());
@@ -308,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 {
@@ -327,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) {
@@ -417,9 +431,6 @@
                 }
             }
 
-            if (!WifiDppUtils.isSupportEnrolleeQrCodeScanner(mContext, mAccessPointSecurity)) {
-                mPasswordScanButton.setVisibility(View.GONE);
-            }
             mSsidScanButton.setVisibility(View.GONE);
         }
 
@@ -432,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
@@ -554,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);
 
@@ -581,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() {
@@ -645,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
@@ -662,9 +684,6 @@
                         // 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_NONE:
-                                config.enterpriseConfig.setPhase2Method(Phase2.NONE);
-                                break;
                             case WIFI_PEAP_PHASE2_MSCHAPV2:
                                 config.enterpriseConfig.setPhase2Method(Phase2.MSCHAPV2);
                                 break;
@@ -685,9 +704,27 @@
                                 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:
-                        // The default index from mPhase2FullAdapter maps to the API
-                        config.enterpriseConfig.setPhase2Method(phase2Method);
                         break;
                 }
 
@@ -729,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)) {
@@ -762,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 + '"';
@@ -771,7 +816,7 @@
 
             case AccessPoint.SECURITY_OWE:
                 config.allowedKeyManagement.set(KeyMgmt.OWE);
-                config.requirePMF = true;
+                config.requirePmf = true;
                 break;
 
             default:
@@ -786,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;
         }
 
@@ -955,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;
@@ -964,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);
@@ -982,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,
@@ -1012,21 +1057,23 @@
                     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) {
                 case Eap.PEAP:
                     switch (phase2Method) {
-                        case Phase2.NONE:
-                            mPhase2Spinner.setSelection(WIFI_PEAP_PHASE2_NONE);
-                            break;
                         case Phase2.MSCHAPV2:
                             mPhase2Spinner.setSelection(WIFI_PEAP_PHASE2_MSCHAPV2);
                             break;
@@ -1047,14 +1094,32 @@
                             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:
-                    mPhase2Spinner.setSelection(phase2Method);
                     break;
             }
             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) {
@@ -1070,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 {
@@ -1115,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);
 
@@ -1123,6 +1190,7 @@
             case WIFI_EAP_METHOD_PWD:
                 setPhase2Invisible();
                 setCaCertInvisible();
+                setOcspInvisible();
                 setDomainInvisible();
                 setAnonymousIdentInvisible();
                 setUserCertInvisible();
@@ -1146,8 +1214,8 @@
                 break;
             case WIFI_EAP_METHOD_TTLS:
                 // Reset adapter if needed
-                if (mPhase2Adapter != mPhase2FullAdapter) {
-                    mPhase2Adapter = mPhase2FullAdapter;
+                if (mPhase2Adapter != mPhase2TtlsAdapter) {
+                    mPhase2Adapter = mPhase2TtlsAdapter;
                     mPhase2Spinner.setAdapter(mPhase2Adapter);
                 }
                 mView.findViewById(R.id.l_phase2).setVisibility(View.VISIBLE);
@@ -1160,13 +1228,11 @@
                 setPhase2Invisible();
                 setAnonymousIdentInvisible();
                 setCaCertInvisible();
+                setOcspInvisible();
                 setDomainInvisible();
                 setUserCertInvisible();
                 setPasswordInvisible();
                 setIdentityInvisible();
-                if (mAccessPoint != null && mAccessPoint.isCarrierAp()) {
-                    setEapMethodInvisible();
-                }
                 break;
         }
 
@@ -1177,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();
             }
         }
     }
@@ -1198,12 +1268,10 @@
 
     private void setIdentityInvisible() {
         mView.findViewById(R.id.l_identity).setVisibility(View.GONE);
-        mPhase2Spinner.setSelection(Phase2.NONE);
     }
 
     private void setPhase2Invisible() {
         mView.findViewById(R.id.l_phase2).setVisibility(View.GONE);
-        mPhase2Spinner.setSelection(Phase2.NONE);
     }
 
     private void setCaCertInvisible() {
@@ -1211,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("");
@@ -1261,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) {
@@ -1373,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);
@@ -1386,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);
     }
 
@@ -1461,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);
         }
     }
 
@@ -1481,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);
@@ -1489,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();
@@ -1581,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..05c7b4e
--- /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.getPasspointConfiguration();
+            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.getPasspointConfiguration();
+        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..f1c24c3
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/AddDevicePreferenceController2.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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() {
+        if (!WifiDppUtils.isSupportConfiguratorQrCodeScanner(mContext, mWifiEntry)
+                || mWifiEntry.canManageSubscription()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        return AVAILABLE;
+    }
+
+    @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..c12f8d3
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -0,0 +1,1063 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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";
+    static final String KEY_IP_DETAILS_CATEGORY = "ip_details_category";
+
+    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 PreferenceCategory mIpDetailsCategory;
+    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();
+                if (!mWifiEntry.canManageSubscription()) {
+                    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();
+                if (!mWifiEntry.canManageSubscription()) {
+                    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);
+        mIpDetailsCategory = screen.findPreference(KEY_IP_DETAILS_CATEGORY);
+        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);
+
+        if (mWifiEntry.canManageSubscription()) {
+            mIpDetailsCategory.setVisible(false);
+            mIpv6Category.setVisible(false);
+            mSignalStrengthPref.setVisible(false);
+            mFrequencyPref.setVisible(false);
+            mSecurityPref.setVisible(false);
+        }
+        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();
+        refreshEntityHeaderIcon();
+        // refresh Buttons
+        refreshButtons();
+
+        // When support manage subscription, there won't have any detail information, so don't
+        // need to update those detail UIs.
+        if (mWifiEntry.canManageSubscription()) {
+            return;
+        }
+
+        // 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 refreshEntityHeaderIcon() {
+        if (mEntityHeaderController == null) {
+            return;
+        }
+
+        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);
+        mEntityHeaderController
+                .setIcon(redrawIconForHeader(wifiIcon)).done(mFragment.getActivity(),
+                    true /* rebind */);
+    }
+
+    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;
+        }
+
+        mRssiSignalLevel = signalLevel;
+        Drawable wifiIcon = mIconInjector.getIcon(mRssiSignalLevel);
+        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..df205a3
--- /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 mWifiEntry.canManageSubscription() ? CONDITIONALLY_UNAVAILABLE : 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..a11cadf
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
@@ -0,0 +1,232 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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) {
+        if (mNetworkDetailsTracker.getWifiEntry().canManageSubscription()) {
+            return;
+        }
+
+        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..479848c
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
@@ -0,0 +1,166 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF 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() {
+        if (!mWifiManager.isConnectedMacRandomizationSupported()
+                || mWifiEntry.canManageSubscription()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        return AVAILABLE;
+    }
+
+    @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..7c93327
--- /dev/null
+++ b/src/com/android/settings/wifi/details2/WifiSubscriptionDetailPreferenceController2.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.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() {
+        if (mWifiEntry.canManageSubscription()) {
+            return AVAILABLE;
+        }
+
+        return 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..5ac5bad
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/HtmlTextPreferenceTest.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.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 android.widget.TextView;
+
+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;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/** 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 testUnsupportedTagList_keepRealContentWithoutTag() {
+        final List<String> testUnsupportedTagList = new ArrayList<>();
+        testUnsupportedTagList.add("testTag");
+        final String testStr = "<testTag>Real description</testTag>";
+        final String expectedStr = "Real description";
+        final String expectedTag = "unsupportedtag1";
+
+        mHtmlTextPreference.setUnsupportedTagList(testUnsupportedTagList);
+        mHtmlTextPreference.setSummary(testStr);
+        mHtmlTextPreference.setTagHandler(mTagHandler);
+        mHtmlTextPreference.onBindViewHolder(mPreferenceViewHolder);
+
+        final TextView summaryView = mPreferenceViewHolder.itemView.findViewById(
+                android.R.id.summary);
+        assertThat(summaryView.getText().toString()).isEqualTo(expectedStr);
+        assertThat(mHandledTag).isEqualTo(expectedTag);
+    }
+}
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/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..9aca92e 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
@@ -42,6 +42,7 @@
 
 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,7 +68,7 @@
 public class DataUsageListTest {
 
     @Mock
-    private CellDataPreference.DataStateListener mListener;
+    private MobileDataEnabledListener mMobileDataEnabledListener;
     @Mock
     private TemplatePreference.NetworkServices mNetworkServices;
 
@@ -83,14 +84,16 @@
         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);
     }
 
     @Test
-    public void resumePause_shouldListenUnlistenDataStateChange() {
+    public void resume_shouldListenDataStateChange() {
         ReflectionHelpers.setField(
                 mDataUsageList, "mVisibilityLoggerMixin", mock(VisibilityLoggerMixin.class));
         ReflectionHelpers.setField(
@@ -98,11 +101,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
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..3b5e828 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
@@ -26,7 +26,7 @@
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothManager;
 import android.content.Context;
-import android.telephony.TelephonyManager;
+import android.media.AudioManager;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
@@ -41,6 +41,7 @@
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -48,15 +49,12 @@
 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 java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowBluetoothUtils.class,
-        ShadowTelephonyManager.class})
+@Config(shadows = {ShadowBluetoothUtils.class})
 public class MediaOutputIndicatorSliceTest {
 
     private static final String TEST_A2DP_DEVICE_NAME = "Test_A2DP_BT_Device_NAME";
@@ -80,14 +78,14 @@
     private Context mContext;
     private List<BluetoothDevice> mDevicesList;
     private MediaOutputIndicatorSlice mMediaOutputIndicatorSlice;
-    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);
 
@@ -113,11 +111,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 +132,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 +146,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 +161,39 @@
         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();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
index 3671d81..78658fd 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorWorkerTest.java
@@ -16,11 +16,19 @@
 
 package com.android.settings.media;
 
+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.AudioManager;
 import android.net.Uri;
 
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
@@ -35,6 +43,7 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowBluetoothUtils.class})
@@ -47,20 +56,27 @@
     private LocalBluetoothManager mLocalBluetoothManager;
     private Context mContext;
     private MediaOutputIndicatorWorker mMediaDeviceUpdateWorker;
+    private ShadowApplication mShadowApplication;
+    private ContentResolver mResolver;
 
     @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);
+
+        mResolver = mock(ContentResolver.class);
+        doReturn(mResolver).when(mContext).getContentResolver();
     }
 
     @Test
     public void onSlicePinned_registerCallback() {
         mMediaDeviceUpdateWorker.onSlicePinned();
         verify(mBluetoothEventManager).registerCallback(mMediaDeviceUpdateWorker);
+        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class));
     }
 
     @Test
@@ -68,5 +84,18 @@
         mMediaDeviceUpdateWorker.onSlicePinned();
         mMediaDeviceUpdateWorker.onSliceUnpinned();
         verify(mBluetoothEventManager).unregisterCallback(mMediaDeviceUpdateWorker);
+        verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
+    }
+
+    @Test
+    public void onReceive_shouldNotifyChange() {
+        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);
     }
 }
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/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..783b40f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationImportantPreferenceControllerTest.java
@@ -0,0 +1,207 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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.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 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, never()).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, never()).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..725be3d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationPromotePreferenceControllerTest.java
@@ -0,0 +1,125 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 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();
+    }
+}
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..a4c94ca 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,133 @@
     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));
+    }
 }
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 669a2e6..3a17b6c 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
@@ -18,25 +18,26 @@
 
 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;
+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.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;
 
@@ -52,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)
@@ -223,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);
@@ -415,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,
@@ -449,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);
@@ -465,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 ;
@@ -484,9 +513,52 @@
         mController = new TestWifiConfigController(mConfigUiBase, mView, mAccessPoint,
                 WifiConfigUiBase.MODE_MODIFY);
         final Spinner eapMethodSpinner = mView.findViewById(R.id.method);
+        final Spinner phase2Spinner = mView.findViewById(R.id.phase2);
+        WifiConfiguration wifiConfiguration;
 
-        eapMethodSpinner.setSelection(Eap.TLS);
+        // Test EAP method PEAP
+        eapMethodSpinner.setSelection(Eap.PEAP);
+        phase2Spinner.setSelection(WifiConfigController.WIFI_PEAP_PHASE2_MSCHAPV2);
+        wifiConfiguration = mController.getConfig();
 
-        assertThat(eapMethodSpinner.getSelectedItemPosition()).isEqualTo(Eap.TLS);
+        assertThat(wifiConfiguration.enterpriseConfig.getEapMethod()).isEqualTo(Eap.PEAP);
+        assertThat(wifiConfiguration.enterpriseConfig.getPhase2Method()).isEqualTo(
+                Phase2.MSCHAPV2);
+
+        // Test EAP method TTLS
+        eapMethodSpinner.setSelection(Eap.TTLS);
+        phase2Spinner.setSelection(WifiConfigController.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));
+    }
+
+    @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);
         }
     }
 
